@@ -205,7 +205,7 @@ C Language Changes
205205 ``-Wunterminated-string-initialization ``. However, this diagnostic is not
206206 silenced by the ``nonstring `` attribute as these initializations are always
207207 incompatible with C++.
208- - Added ``-Wjump-bypasses -init ``, which is off by default and grouped under
208+ - Added ``-Wjump-misses -init ``, which is off by default and grouped under
209209 ``-Wc++-compat ``. It diagnoses when a jump (``goto `` to its label, ``switch ``
210210 to its ``case ``) will bypass the initialization of a local variable, which is
211211 invalid in C++.
@@ -241,6 +241,7 @@ C2y Feature Support
241241
242242C23 Feature Support
243243^^^^^^^^^^^^^^^^^^^
244+ - Clang now accepts ``-std=iso9899:2024 `` as an alias for C23.
244245- Added ``__builtin_c23_va_start() `` for compatibility with GCC and to enable
245246 better diagnostic behavior for the ``va_start() `` macro in C23 and later.
246247 This also updates the definition of ``va_start() `` in ``<stdarg.h> `` to use
@@ -254,7 +255,10 @@ C23 Feature Support
254255- Implemented `WG14 N3037 <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3037.pdf >`_
255256 which allows tag types to be redefined within the same translation unit so
256257 long as both definitions are structurally equivalent (same tag types, same
257- tag names, same tag members, etc).
258+ tag names, same tag members, etc). As a result of this paper, ``-Wvisibility ``
259+ is no longer diagnosed in C23 if the parameter is a complete tag type (it
260+ does still fire when the parameter is an incomplete tag type as that cannot
261+ be completed).
258262- Fixed a failed assertion with an invalid parameter to the ``#embed ``
259263 directive. Fixes #GH126940.
260264
@@ -283,6 +287,8 @@ Non-comprehensive list of changes in this release
283287 stack space when running on Apple AArch64 based platforms. This means that
284288 stack traces of Clang from debuggers, crashes, and profilers may look
285289 different than before.
290+ - Fixed a crash when a VLA with an invalid size expression was used within a
291+ ``sizeof `` or ``typeof `` expression. (#GH138444)
286292
287293New Compiler Flags
288294------------------
@@ -550,7 +556,9 @@ Bug Fixes in This Version
550556- Fixed visibility calculation for template functions. (#GH103477)
551557- Fixed a bug where an attribute before a ``pragma clang attribute `` or
552558 ``pragma clang __debug `` would cause an assertion. Instead, this now diagnoses
553- the invalid attribute location appropriately. (#GH137861)
559+ the invalid attribute location appropriately. (#GH137861)
560+ - Fixed a crash when a malformed ``_Pragma `` directive appears as part of an
561+ ``#include `` directive. (#GH138094)
554562
555563Bug Fixes to Compiler Builtins
556564^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -586,6 +594,9 @@ Bug Fixes to Attribute Support
586594 ``__attribute__((unused)) `` are still ignored after the definition, though
587595 this behavior may be relaxed in the future). (#GH135481)
588596
597+ - Clang will warn if a complete type specializes a deprecated partial specialization.
598+ (#GH44496)
599+
589600Bug Fixes to C++ Support
590601^^^^^^^^^^^^^^^^^^^^^^^^
591602
@@ -637,11 +648,13 @@ Bug Fixes to C++ Support
637648- Clang no longer crashes when establishing subsumption between some constraint expressions. (#GH122581)
638649- Clang now issues an error when placement new is used to modify a const-qualified variable
639650 in a ``constexpr `` function. (#GH131432)
651+ - Fixed an incorrect TreeTransform for calls to ``consteval `` functions if a conversion template is present. (#GH137885)
640652- Clang now emits a warning when class template argument deduction for alias templates is used in C++17. (#GH133806)
641653- Fix a crash when checking the template template parameters of a dependent lambda appearing in an alias declaration.
642654 (#GH136432), (#GH137014), (#GH138018)
643655- Fixed an assertion when trying to constant-fold various builtins when the argument
644656 referred to a reference to an incomplete type. (#GH129397)
657+ - Fixed a crash when a cast involved a parenthesized aggregate initialization in dependent context. (#GH72880)
645658
646659Bug Fixes to AST Handling
647660^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -798,6 +811,10 @@ libclang
798811- Fixed a buffer overflow in ``CXString `` implementation. The fix may result in
799812 increased memory allocation.
800813
814+ - Deprecate ``clang_Cursor_GetBinaryOpcode `` and ``clang_Cursor_getBinaryOpcodeStr ``
815+ implementations, which are duplicates of ``clang_getCursorBinaryOperatorKind ``
816+ and ``clang_getBinaryOperatorKindSpelling `` respectively.
817+
801818Code Completion
802819---------------
803820
0 commit comments