Skip to content

Commit 3c3d2b8

Browse files
committed
Merge remote-tracking branch 'upstream/main' into fix_vector_combine
2 parents 25cbc66 + 82caa25 commit 3c3d2b8

File tree

458 files changed

+21798
-8354
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

458 files changed

+21798
-8354
lines changed

.github/workflows/bazel-checks.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Bazel Checks
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
push:
8+
paths:
9+
- '.github/workflows/bazel-checks.yml'
10+
- 'utils/bazel/**'
11+
branches:
12+
- main
13+
pull_request:
14+
paths:
15+
- '.github/workflows/bazel-checks.yml'
16+
- 'utils/bazel/**'
17+
18+
jobs:
19+
buildifier:
20+
name: "Buildifier"
21+
runs-on: ubuntu-24.04
22+
if: github.repository == 'llvm/llvm-project'
23+
steps:
24+
- name: Fetch LLVM sources
25+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
26+
- name: Setup Buildifier
27+
run: |
28+
sudo curl -L https://github.com/bazelbuild/buildtools/releases/download/v8.2.1/buildifier-linux-amd64 -o /usr/bin/buildifier
29+
sudo chmod +x /usr/bin/buildifier
30+
- name: Run Buildifier
31+
run: |
32+
buildifier --mode=check $(find ./utils/bazel -name *BUILD*)

clang-tools-extra/docs/ReleaseNotes.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
.. If you want to modify sections/contents permanently, you should modify both
2+
ReleaseNotes.rst and ReleaseNotesTemplate.txt.
3+
14
====================================================
25
Extra Clang Tools |release| |ReleaseNotesTitle|
36
====================================================
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
.. If you want to modify sections/contents permanently, you should modify both
2+
ReleaseNotes.rst and ReleaseNotesTemplate.txt.
3+
4+
====================================================
5+
Extra Clang Tools |release| |ReleaseNotesTitle|
6+
====================================================
7+
8+
.. contents::
9+
:local:
10+
:depth: 3
11+
12+
Written by the `LLVM Team <https://llvm.org/>`_
13+
14+
.. only:: PreRelease
15+
16+
.. warning::
17+
These are in-progress notes for the upcoming Extra Clang Tools |version| release.
18+
Release notes for previous releases can be found on
19+
`the Download Page <https://releases.llvm.org/download.html>`_.
20+
21+
Introduction
22+
============
23+
24+
This document contains the release notes for the Extra Clang Tools, part of the
25+
Clang release |release|. Here we describe the status of the Extra Clang Tools in
26+
some detail, including major improvements from the previous release and new
27+
feature work. All LLVM releases may be downloaded from the `LLVM releases web
28+
site <https://llvm.org/releases/>`_.
29+
30+
For more information about Clang or LLVM, including information about
31+
the latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or
32+
the `LLVM Web Site <https://llvm.org>`_.
33+
34+
Note that if you are reading this file from a Git checkout or the
35+
main Clang web page, this document applies to the *next* release, not
36+
the current one. To see the release notes for a specific release, please
37+
see the `releases page <https://llvm.org/releases/>`_.
38+
39+
What's New in Extra Clang Tools |release|?
40+
==========================================
41+
42+
Some of the major new features and improvements to Extra Clang Tools are listed
43+
here. Generic improvements to Extra Clang Tools as a whole or to its underlying
44+
infrastructure are described first, followed by tool-specific sections.
45+
46+
Major New Features
47+
------------------
48+
49+
Improvements to clangd
50+
----------------------
51+
52+
Inlay hints
53+
^^^^^^^^^^^
54+
55+
Diagnostics
56+
^^^^^^^^^^^
57+
58+
Semantic Highlighting
59+
^^^^^^^^^^^^^^^^^^^^^
60+
61+
Compile flags
62+
^^^^^^^^^^^^^
63+
64+
Hover
65+
^^^^^
66+
67+
Code completion
68+
^^^^^^^^^^^^^^^
69+
70+
Code actions
71+
^^^^^^^^^^^^
72+
73+
Signature help
74+
^^^^^^^^^^^^^^
75+
76+
Cross-references
77+
^^^^^^^^^^^^^^^^
78+
79+
Objective-C
80+
^^^^^^^^^^^
81+
82+
Miscellaneous
83+
^^^^^^^^^^^^^
84+
85+
Improvements to clang-doc
86+
-------------------------
87+
88+
Improvements to clang-query
89+
---------------------------
90+
91+
Improvements to clang-tidy
92+
--------------------------
93+
94+
New checks
95+
^^^^^^^^^^
96+
97+
New check aliases
98+
^^^^^^^^^^^^^^^^^
99+
100+
Changes in existing checks
101+
^^^^^^^^^^^^^^^^^^^^^^^^^^
102+
103+
Removed checks
104+
^^^^^^^^^^^^^^
105+
106+
Miscellaneous
107+
^^^^^^^^^^^^^
108+
109+
Improvements to include-fixer
110+
-----------------------------
111+
112+
Improvements to clang-include-fixer
113+
-----------------------------------
114+
115+
Improvements to modularize
116+
--------------------------
117+
118+
Improvements to pp-trace
119+
------------------------
120+
121+
Clang-tidy Visual Studio plugin
122+
-------------------------------

clang/docs/APINotes.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,17 @@ declaration kind), all of which are optional:
206206
- Name: tzdb
207207
SwiftCopyable: false
208208

209+
A non-copyable type can have a "destroy" operation, specified with
210+
`SwiftDestroyOp`, which will be invoked on the instance when it is no
211+
longer in use to free up resources.
212+
213+
::
214+
215+
Tags:
216+
- Name: WGPUAdapterInfo
217+
SwiftCopyable: false
218+
SwiftDestroyOp: wgpuAdapterInfoFreeMembers
219+
209220
:SwiftConformsTo:
210221

211222
Allows annotating a C++ class as conforming to a Swift protocol. Equivalent

clang/docs/LanguageExtensions.rst

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1715,11 +1715,40 @@ Variadic Friends __cpp_variadic_friend C
17151715
Trivial Relocatability __cpp_trivial_relocatability C++26 C++03
17161716
--------------------------------------------- -------------------------------- ------------- -------------
17171717
Designated initializers (N494) C99 C89
1718+
``_Complex`` (N693) C99 C89, C++
1719+
``_Bool`` (N815) C99 C89
1720+
Variable-length arrays (N683) C99 C89, C++
1721+
Flexible array members C99 C89, C++
1722+
static and type quals in arrays C99 C89
1723+
``long long`` (N601) C99 C89
1724+
Hexadecimal floating constants (N308) C99 C89
1725+
Compound literals (N716) C99 C89, C++
1726+
``//`` comments (N644) C99 C89
1727+
Mixed declarations and code (N740) C99 C89
1728+
Variadic macros (N707) C99 C89
1729+
Empty macro arguments (N570) C99 C89
1730+
Trailing comma in enum declaration C99 C89
1731+
Implicit ``return 0`` in ``main`` C99 C89
1732+
``__func__`` (N611) C99 C89
1733+
``_Generic`` (N1441) C11 C89, C++
1734+
``_Static_assert`` (N1330) C11 C89, C++
1735+
``_Atomic`` (N1485) C11 C89, C++
1736+
``_Thread_local`` (N1364) C11 C89, C++
17181737
Array & element qualification (N2607) C23 C89
17191738
Attributes (N2335) C23 C89
17201739
``#embed`` (N3017) C23 C89, C++
1740+
Enum with fixed underlying type (N3030) C23 C89
1741+
``#warning`` (N2686) C23 C89
1742+
``_BitInt`` (N3035) C23 C89, C++
1743+
Binary literals (N2549) C23 C89
1744+
Unnamed parameters in a function definition C23 C89
1745+
Free positioning of labels (N2508) C23 C89
1746+
``#elifdef`` (N2645) C23 C89
1747+
``__has_include`` (N2799) C23 C89
17211748
Octal literals prefixed with ``0o`` or ``0O`` C2y C89, C++
17221749
``_Countof`` (N3369, N3469) C2y C89
1750+
``_Generic`` with a type operand (N3260) C2y C89, C++
1751+
``++``/``--`` on ``_Complex`` value (N3259) C2y C89, C++
17231752
============================================= ================================ ============= =============
17241753

17251754
Builtin type aliases

clang/docs/ReleaseNotes.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
.. If you want to modify sections/contents permanently, you should modify both
2+
ReleaseNotes.rst and ReleaseNotesTemplate.txt.
3+
14
===========================================
25
Clang |release| |ReleaseNotesTitle|
36
===========================================
@@ -74,6 +77,9 @@ AST Dumping Potentially Breaking Changes
7477

7578
Clang Frontend Potentially Breaking Changes
7679
-------------------------------------------
80+
- Members of anonymous unions/structs are now injected as ``IndirectFieldDecl``
81+
into the enclosing record even if their names conflict with other names in the
82+
scope. These ``IndirectFieldDecl`` are marked invalid.
7783

7884
Clang Python Bindings Potentially Breaking Changes
7985
--------------------------------------------------
@@ -214,6 +220,8 @@ Bug Fixes to C++ Support
214220
- Fix the dynamic_cast to final class optimization to correctly handle
215221
casts that are guaranteed to fail (#GH137518).
216222
- Fix bug rejecting partial specialization of variable templates with auto NTTPs (#GH118190).
223+
- Fix a crash if errors "member of anonymous [...] redeclares" and
224+
"intializing multiple members of union" coincide (#GH149985).
217225
- Fix a crash when using ``explicit(bool)`` in pre-C++11 language modes. (#GH152729)
218226
- Fix the parsing of variadic member functions when the ellipis immediately follows a default argument.(#GH153445)
219227

0 commit comments

Comments
 (0)