xref: /llvm-project/clang/docs/ReleaseNotes.rst (revision 07a0e2be86f33beb6d519a3d466b95c2257e93cb)
1===========================================
2Clang |release| |ReleaseNotesTitle|
3===========================================
4
5.. contents::
6   :local:
7   :depth: 2
8
9Written by the `LLVM Team <https://llvm.org/>`_
10
11.. only:: PreRelease
12
13  .. warning::
14     These are in-progress notes for the upcoming Clang |version| release.
15     Release notes for previous releases can be found on
16     `the Releases Page <https://llvm.org/releases/>`_.
17
18Introduction
19============
20
21This document contains the release notes for the Clang C/C++/Objective-C
22frontend, part of the LLVM Compiler Infrastructure, release |release|. Here we
23describe the status of Clang in some detail, including major
24improvements from the previous release and new feature work. For the
25general LLVM release notes, see `the LLVM
26documentation <https://llvm.org/docs/ReleaseNotes.html>`_. For the libc++ release notes,
27see `this page <https://libcxx.llvm.org/ReleaseNotes.html>`_. All LLVM releases
28may be downloaded from the `LLVM releases web site <https://llvm.org/releases/>`_.
29
30For more information about Clang or LLVM, including information about the
31latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or the
32`LLVM Web Site <https://llvm.org>`_.
33
34Potentially Breaking Changes
35============================
36
37C/C++ Language Potentially Breaking Changes
38-------------------------------------------
39
40C++ Specific Potentially Breaking Changes
41-----------------------------------------
42
43ABI Changes in This Version
44---------------------------
45
46AST Dumping Potentially Breaking Changes
47----------------------------------------
48
49Clang Frontend Potentially Breaking Changes
50-------------------------------------------
51
52Clang Python Bindings Potentially Breaking Changes
53--------------------------------------------------
54
55What's New in Clang |release|?
56==============================
57
58C++ Language Changes
59--------------------
60
61C++2c Feature Support
62^^^^^^^^^^^^^^^^^^^^^
63
64C++23 Feature Support
65^^^^^^^^^^^^^^^^^^^^^
66
67C++20 Feature Support
68^^^^^^^^^^^^^^^^^^^^^
69
70C++17 Feature Support
71^^^^^^^^^^^^^^^^^^^^^
72
73Resolutions to C++ Defect Reports
74^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
75
76- The flag `-frelaxed-template-template-args`
77  and its negation have been removed, having been deprecated since the previous
78  two releases. The improvements to template template parameter matching implemented
79  in the previous release, as described in P3310 and P3579, made this flag unnecessary.
80
81C Language Changes
82------------------
83
84C2y Feature Support
85^^^^^^^^^^^^^^^^^^^
86
87C23 Feature Support
88^^^^^^^^^^^^^^^^^^^
89
90Non-comprehensive list of changes in this release
91-------------------------------------------------
92
93New Compiler Flags
94------------------
95
96Deprecated Compiler Flags
97-------------------------
98
99Modified Compiler Flags
100-----------------------
101
102Removed Compiler Flags
103-------------------------
104
105Attribute Changes in Clang
106--------------------------
107
108Improvements to Clang's diagnostics
109-----------------------------------
110
111Improvements to Clang's time-trace
112----------------------------------
113
114Improvements to Coverage Mapping
115--------------------------------
116
117Bug Fixes in This Version
118-------------------------
119
120Bug Fixes to Compiler Builtins
121^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
122
123Bug Fixes to Attribute Support
124^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
125
126Bug Fixes to C++ Support
127^^^^^^^^^^^^^^^^^^^^^^^^
128
129- Clang is now better at keeping track of friend function template instance contexts. (#GH55509)
130
131Bug Fixes to AST Handling
132^^^^^^^^^^^^^^^^^^^^^^^^^
133
134Miscellaneous Bug Fixes
135^^^^^^^^^^^^^^^^^^^^^^^
136
137Miscellaneous Clang Crashes Fixed
138^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
139
140OpenACC Specific Changes
141------------------------
142
143Target Specific Changes
144-----------------------
145
146AMDGPU Support
147^^^^^^^^^^^^^^
148
149NVPTX Support
150^^^^^^^^^^^^^^
151
152X86 Support
153^^^^^^^^^^^
154
155Arm and AArch64 Support
156^^^^^^^^^^^^^^^^^^^^^^^
157
158Android Support
159^^^^^^^^^^^^^^^
160
161Windows Support
162^^^^^^^^^^^^^^^
163
164LoongArch Support
165^^^^^^^^^^^^^^^^^
166
167RISC-V Support
168^^^^^^^^^^^^^^
169
170CUDA/HIP Language Changes
171^^^^^^^^^^^^^^^^^^^^^^^^^
172
173CUDA Support
174^^^^^^^^^^^^
175
176AIX Support
177^^^^^^^^^^^
178
179NetBSD Support
180^^^^^^^^^^^^^^
181
182WebAssembly Support
183^^^^^^^^^^^^^^^^^^^
184
185AVR Support
186^^^^^^^^^^^
187
188DWARF Support in Clang
189----------------------
190
191Floating Point Support in Clang
192-------------------------------
193
194Fixed Point Support in Clang
195----------------------------
196
197AST Matchers
198------------
199
200clang-format
201------------
202
203libclang
204--------
205
206Code Completion
207---------------
208
209Static Analyzer
210---------------
211
212New features
213^^^^^^^^^^^^
214
215Crash and bug fixes
216^^^^^^^^^^^^^^^^^^^
217
218Improvements
219^^^^^^^^^^^^
220
221Moved checkers
222^^^^^^^^^^^^^^
223
224.. _release-notes-sanitizers:
225
226Sanitizers
227----------
228
229Python Binding Changes
230----------------------
231
232OpenMP Support
233--------------
234
235Improvements
236^^^^^^^^^^^^
237
238Additional Information
239======================
240
241A wide variety of additional information is available on the `Clang web
242page <https://clang.llvm.org/>`_. The web page contains versions of the
243API documentation which are up-to-date with the Git version of
244the source code. You can access versions of these documents specific to
245this release by going into the "``clang/docs/``" directory in the Clang
246tree.
247
248If you have any questions or comments about Clang, please feel free to
249contact us on the `Discourse forums (Clang Frontend category)
250<https://discourse.llvm.org/c/clang/6>`_.
251