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