@@ -294,9 +294,6 @@ C++ Language Changes
294
294
C++2c Feature Support
295
295
^^^^^^^^^^^^^^^^^^^^^
296
296
297
- - Add ``__builtin_is_implicit_lifetime `` intrinsic, which supports
298
- `P2647R1 A trait for implicit lifetime types <https://wg21.link/p2674r1 >`_
299
-
300
297
- Add ``__builtin_is_virtual_base_of `` intrinsic, which supports
301
298
`P2985R0 A type trait for detecting virtual base classes <https://wg21.link/p2985r0 >`_
302
299
@@ -318,13 +315,20 @@ C++23 Feature Support
318
315
319
316
- ``__cpp_explicit_this_parameter `` is now defined. (#GH82780)
320
317
318
+ - Add ``__builtin_is_implicit_lifetime `` intrinsic, which supports
319
+ `P2674R1 A trait for implicit lifetime types <https://wg21.link/p2674r1 >`_
320
+
321
321
- Add support for `P2280R4 Using unknown pointers and references in constant expressions <https://wg21.link/P2280R4 >`_. (#GH63139)
322
322
323
323
C++20 Feature Support
324
324
^^^^^^^^^^^^^^^^^^^^^
325
325
326
326
- Implemented module level lookup for C++20 modules. (#GH90154)
327
327
328
+ C++17 Feature Support
329
+ ^^^^^^^^^^^^^^^^^^^^^
330
+ - The implementation of the relaxed template template argument matching rules is
331
+ more complete and reliable, and should provide more accurate diagnostics.
328
332
329
333
Resolutions to C++ Defect Reports
330
334
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -351,7 +355,8 @@ Resolutions to C++ Defect Reports
351
355
(`CWG2351: void{} <https://cplusplus.github.io/CWG/issues/2351.html >`_).
352
356
353
357
- Clang now has improved resolution to CWG2398, allowing class templates to have
354
- default arguments deduced when partial ordering.
358
+ default arguments deduced when partial ordering, and better backwards compatibility
359
+ in overload resolution.
355
360
356
361
- Clang now allows comparing unequal object pointers that have been cast to ``void * ``
357
362
in constant expressions. These comparisons always worked in non-constant expressions.
@@ -636,6 +641,10 @@ Improvements to Clang's diagnostics
636
641
637
642
- Clang now diagnoses when the result of a [[nodiscard]] function is discarded after being cast in C. Fixes #GH104391.
638
643
644
+ - Clang now properly explains the reason a template template argument failed to
645
+ match a template template parameter, in terms of the C++17 relaxed matching rules
646
+ instead of the old ones.
647
+
639
648
- Don't emit duplicated dangling diagnostics. (#GH93386).
640
649
641
650
- Improved diagnostic when trying to befriend a concept. (#GH45182).
@@ -807,6 +816,8 @@ Improvements to Clang's diagnostics
807
816
808
817
- Clang now emits a ``-Wignored-qualifiers `` diagnostic when a base class includes cv-qualifiers (#GH55474).
809
818
819
+ - Clang now diagnoses the use of attribute names reserved by the C++ standard (#GH92196).
820
+
810
821
Improvements to Clang's time-trace
811
822
----------------------------------
812
823
@@ -885,6 +896,8 @@ Bug Fixes to C++ Support
885
896
- Correctly check constraints of explicit instantiations of member functions. (#GH46029)
886
897
- When performing partial ordering of function templates, clang now checks that
887
898
the deduction was consistent. Fixes (#GH18291).
899
+ - Fixes to several issues in partial ordering of template template parameters, which
900
+ were documented in the test suite.
888
901
- Fixed an assertion failure about a constraint of a friend function template references to a value with greater
889
902
template depth than the friend function template. (#GH98258)
890
903
- Clang now rebuilds the template parameters of out-of-line declarations and specializations in the context
@@ -975,6 +988,8 @@ Bug Fixes to C++ Support
975
988
- Fixed a nested lambda substitution issue for constraint evaluation. (#GH123441)
976
989
- Fixed various false diagnostics related to the use of immediate functions. (#GH123472)
977
990
- Fix immediate escalation not propagating through inherited constructors. (#GH112677)
991
+ - Fixed assertions or false compiler diagnostics in the case of C++ modules for
992
+ lambda functions or inline friend functions defined inside templates (#GH122493).
978
993
979
994
Bug Fixes to AST Handling
980
995
^^^^^^^^^^^^^^^^^^^^^^^^^
0 commit comments