@@ -147,7 +147,7 @@ C++ Specific Potentially Breaking Changes
147147 // Fixed version:
148148 unsigned operator""_udl_name(unsigned long long);
149149
150- - Clang will now produce an error diagnostic when [[clang::lifetimebound]] is
150+ - Clang will now produce an error diagnostic when `` [[clang::lifetimebound]] `` is
151151 applied on a parameter or an implicit object parameter of a function that
152152 returns void. This was previously ignored and had no effect. (#GH107556)
153153
@@ -156,6 +156,21 @@ C++ Specific Potentially Breaking Changes
156156 // Now diagnoses with an error.
157157 void f(int& i [[clang::lifetimebound]]);
158158
159+ - Clang will now produce an error diagnostic when ``[[clang::lifetimebound]] ``
160+ is applied on a type (instead of a function parameter or an implicit object
161+ parameter); this includes the case when the attribute is specified for an
162+ unnamed function parameter. These were previously ignored and had no effect.
163+ (#GH118281)
164+
165+ .. code-block :: c++
166+
167+ // Now diagnoses with an error.
168+ int* [[clang::lifetimebound]] x;
169+ // Now diagnoses with an error.
170+ void f(int* [[clang::lifetimebound]] i);
171+ // Now diagnoses with an error.
172+ void g(int* [[clang::lifetimebound]]);
173+
159174- Clang now rejects all field accesses on null pointers in constant expressions. The following code
160175 used to work but will now be rejected:
161176
@@ -943,6 +958,9 @@ Miscellaneous Clang Crashes Fixed
943958- Fixed internal assertion firing when a declaration in the implicit global
944959 module is found through ADL. (GH#109879)
945960
961+ - Fixed a crash when an unscoped enumeration declared by an opaque-enum-declaration within a class template
962+ with a dependent underlying type is subject to integral promotion. (#GH117960)
963+
946964OpenACC Specific Changes
947965------------------------
948966
@@ -1065,6 +1083,12 @@ CUDA Support
10651083- Clang now supports CUDA SDK up to 12.6
10661084- Added support for sm_100
10671085- Added support for `__grid_constant__ ` attribute.
1086+ - CUDA now uses the new offloading driver by default. The new driver supports
1087+ device-side LTO, interoperability with OpenMP and other languages, and native ``-fgpu-rdc ``
1088+ support with static libraries. The old behavior can be returned using the
1089+ ``--no-offload-new-driver `` flag. The binary format is no longer compatible
1090+ with the NVIDIA compiler's RDC-mode support. More information can be found at:
1091+ https://clang.llvm.org/docs/OffloadingDesign.html
10681092
10691093AIX Support
10701094^^^^^^^^^^^
@@ -1158,6 +1182,8 @@ libclang
11581182--------
11591183- Add ``clang_isBeforeInTranslationUnit ``. Given two source locations, it determines
11601184 whether the first one comes strictly before the second in the source code.
1185+ - Add ``clang_getTypePrettyPrinted ``. It allows controlling the PrintingPolicy used
1186+ to pretty-print a type.
11611187
11621188Static Analyzer
11631189---------------
@@ -1298,10 +1324,13 @@ Sanitizers
12981324Python Binding Changes
12991325----------------------
13001326- Fixed an issue that led to crashes when calling ``Type.get_exception_specification_kind ``.
1301- - Added bindings for ``clang_getCursorPrettyPrinted `` and related functions,
1302- which allow changing the formatting of pretty-printed code.
1303- - Added binding for ``clang_Cursor_isAnonymousRecordDecl ``, which allows checking if
1304- a declaration is an anonymous union or anonymous struct.
1327+ - Added ``Cursor.pretty_printed ``, a binding for ``clang_getCursorPrettyPrinted ``,
1328+ and related functions, which allow changing the formatting of pretty-printed code.
1329+ - Added ``Cursor.is_anonymous_record_decl ``, a binding for
1330+ ``clang_Cursor_isAnonymousRecordDecl ``, which allows checking if a
1331+ declaration is an anonymous union or anonymous struct.
1332+ - Added ``Type.pretty_printed`, a binding for ``clang_getTypePrettyPrinted ``,
1333+ which allows changing the formatting of pretty-printed types.
13051334
13061335OpenMP Support
13071336--------------
0 commit comments