@@ -58,12 +58,12 @@ code bases.
58
58
59
59
To reduce such widespread breakages, as an extension, Clang accepts this code
60
60
with an existing warning ``-Wambiguous-reversed-operator `` warning.
61
- Fixes `GH <https://github.com/llvm/llvm-project/issues/53954 >`_.
61
+ Fixes `#53954 <https://github.com/llvm/llvm-project/issues/53954 >`_.
62
62
63
63
- The CMake variable ``GCC_INSTALL_PREFIX `` (which sets the default
64
64
``--gcc-toolchain= ``) is deprecated and will be removed. Specify
65
65
``--gcc-install-dir= `` or ``--gcc-triple= `` in a `configuration file
66
- <https://clang.llvm.org/docs/UsersManual.html#configuration-files> ` as a
66
+ <https://clang.llvm.org/docs/UsersManual.html#configuration-files> `_ as a
67
67
replacement.
68
68
(`#77537 <https://github.com/llvm/llvm-project/pull/77537 >`_)
69
69
@@ -95,7 +95,7 @@ C/C++ Language Potentially Breaking Changes
95
95
96
96
- Fixed a bug in finding matching `operator!= ` while adding reversed `operator== ` as
97
97
outlined in "The Equality Operator You Are Looking For" (`P2468 <http://wg21.link/p2468r2 >`_).
98
- Fixes (`#68901: <https://github.com/llvm/llvm-project/issues/68901 >`_).
98
+ Fixes (`#68901 <https://github.com/llvm/llvm-project/issues/68901 >`_).
99
99
100
100
C++ Specific Potentially Breaking Changes
101
101
-----------------------------------------
@@ -139,10 +139,10 @@ C++ Specific Potentially Breaking Changes
139
139
140
140
- Remove the hardcoded path to the imported modules for C++20 named modules. Now we
141
141
require all the dependent modules to specified from the command line.
142
- See (`#62707: <https://github.com/llvm/llvm-project/issues/62707 >`_).
142
+ See (`#62707 <https://github.com/llvm/llvm-project/issues/62707 >`_).
143
143
144
144
- Forbid `import XXX; ` in C++ to find module `XXX ` comes from explicit clang modules.
145
- See (`#64755: <https://github.com/llvm/llvm-project/issues/64755 >`_).
145
+ See (`#64755 <https://github.com/llvm/llvm-project/issues/64755 >`_).
146
146
147
147
ABI Changes in This Version
148
148
---------------------------
@@ -199,7 +199,7 @@ C++ Language Changes
199
199
200
200
C++20 Feature Support
201
201
^^^^^^^^^^^^^^^^^^^^^
202
- - Implemented `P1907R1 <https://wg21.link/P1907R1> ` which extends allowed non-type template argument
202
+ - Implemented `P1907R1 <https://wg21.link/P1907R1 >`_ which extends allowed non-type template argument
203
203
kinds with e.g. floating point values and pointers and references to subobjects.
204
204
This feature is still experimental. Accordingly, ``__cpp_nontype_template_args `` was not updated.
205
205
However, its support can be tested with ``__has_extension(cxx_generalized_nttp) ``.
@@ -259,7 +259,7 @@ Resolutions to C++ Defect Reports
259
259
260
260
- Implemented `CWG2598 <https://wg21.link/CWG2598 >`_ and `CWG2096 <https://wg21.link/CWG2096 >`_,
261
261
making unions (that have either no members or at least one literal member) literal types.
262
- (`#77924: <https://github.com/llvm/llvm-project/issues/77924 >`_).
262
+ (`#77924 <https://github.com/llvm/llvm-project/issues/77924 >`_).
263
263
264
264
265
265
C Language Changes
@@ -415,7 +415,7 @@ Attribute Changes in Clang
415
415
types after default argument promotion. As a result, it's no longer an
416
416
automatic diagnostic to use parameters of types that the format style
417
417
supports but that are never the result of default argument promotion, such as
418
- ``float ``. (`#59824: <https://github.com/llvm/llvm-project/issues/59824 >`_)
418
+ ``float ``. (`#59824 <https://github.com/llvm/llvm-project/issues/59824 >`_)
419
419
420
420
- Clang now supports ``[[clang::preferred_type(type-name)]] `` as an attribute
421
421
which can be applied to a bit-field. This attribute helps to map a bit-field
@@ -483,13 +483,13 @@ Improvements to Clang's diagnostics
483
483
- Clang's ``-Wtautological-negation-compare `` flag now diagnoses logical
484
484
tautologies like ``x && !x `` and ``!x || x `` in expressions. This also
485
485
makes ``-Winfinite-recursion `` diagnose more cases.
486
- (`#56035: <https://github.com/llvm/llvm-project/issues/56035 >`_).
486
+ (`#56035 <https://github.com/llvm/llvm-project/issues/56035 >`_).
487
487
- Clang constexpr evaluator now diagnoses compound assignment operators against
488
488
uninitialized variables as a read of uninitialized object.
489
489
(`#51536 <https://github.com/llvm/llvm-project/issues/51536 >`_)
490
490
- Clang's ``-Wformat-truncation `` now diagnoses ``snprintf `` call that is known to
491
491
result in string truncation.
492
- (`#64871: <https://github.com/llvm/llvm-project/issues/64871 >`_).
492
+ (`#64871 <https://github.com/llvm/llvm-project/issues/64871 >`_).
493
493
Existing warnings that similarly warn about the overflow in ``sprintf ``
494
494
now falls under its own warning group ```-Wformat-overflow `` so that it can
495
495
be disabled separately from ``Wfortify-source ``.
@@ -505,12 +505,12 @@ Improvements to Clang's diagnostics
505
505
- Clang now emits ``-Wcast-qual `` for functional-style cast expressions.
506
506
- Clang no longer emits irrelevant notes about unsatisfied constraint expressions
507
507
on the left-hand side of ``|| `` when the right-hand side constraint is satisfied.
508
- (`#54678: <https://github.com/llvm/llvm-project/issues/54678 >`_).
508
+ (`#54678 <https://github.com/llvm/llvm-project/issues/54678 >`_).
509
509
- Clang now prints its 'note' diagnostic in cyan instead of black, to be more compatible
510
510
with terminals with dark background colors. This is also more consistent with GCC.
511
511
- Clang now displays an improved diagnostic and a note when a defaulted special
512
512
member is marked ``constexpr `` in a class with a virtual base class
513
- (`#64843: <https://github.com/llvm/llvm-project/issues/64843 >`_).
513
+ (`#64843 <https://github.com/llvm/llvm-project/issues/64843 >`_).
514
514
- ``-Wfixed-enum-extension `` and ``-Wmicrosoft-fixed-enum `` diagnostics are no longer
515
515
emitted when building as C23, since C23 standardizes support for enums with a
516
516
fixed underlying type.
@@ -550,10 +550,10 @@ Improvements to Clang's diagnostics
550
550
1 | static_assert("A\n"[1] == U'🌍');
551
551
| ~~~~~~~~~^~~~~~~~
552
552
- Clang now always diagnoses when using non-standard layout types in ``offsetof `` .
553
- (`#64619: <https://github.com/llvm/llvm-project/issues/64619 >`_)
553
+ (`#64619 <https://github.com/llvm/llvm-project/issues/64619 >`_)
554
554
- Clang now diagnoses redefined defaulted constructor when redefined
555
555
defaulted constructor with different exception specs.
556
- (`#69094: <https://github.com/llvm/llvm-project/issues/69094 >`_)
556
+ (`#69094 <https://github.com/llvm/llvm-project/issues/69094 >`_)
557
557
- Clang now diagnoses use of variable-length arrays in C++ by default (and
558
558
under ``-Wall `` in GNU++ mode). This is an extension supported by Clang and
559
559
GCC, but is very easy to accidentally use without realizing it's a
@@ -629,7 +629,7 @@ Improvements to Clang's diagnostics
629
629
630
630
- Clang now diagnoses definitions of friend function specializations, e.g. ``friend void f<>(int) {} ``.
631
631
- Clang now diagnoses narrowing conversions involving const references.
632
- (`#63151: <https://github.com/llvm/llvm-project/issues/63151 >`_).
632
+ (`#63151 <https://github.com/llvm/llvm-project/issues/63151 >`_).
633
633
- Clang now diagnoses unexpanded packs within the template argument lists of function template specializations.
634
634
- The warning `-Wnan-infinity-disabled ` is now emitted when ``INFINITY ``
635
635
or ``NAN `` are used in arithmetic operations or function arguments in
@@ -639,7 +639,7 @@ Improvements to Clang's diagnostics
639
639
- Clang now diagnoses attempts to bind a bitfield to an NTTP of a reference type as erroneous
640
640
converted constant expression and not as a reference to subobject.
641
641
- Clang now diagnoses ``auto `` and ``decltype(auto) `` in declarations of conversion function template
642
- (`CWG1878: <https://cplusplus.github.io/CWG/issues/1878.html >`_)
642
+ (`CWG1878 <https://cplusplus.github.io/CWG/issues/1878.html >`_)
643
643
- Clang now diagnoses the requirement that non-template friend declarations with requires clauses
644
644
and template friend declarations with a constraint that depends on a template parameter from an
645
645
enclosing template must be a definition.
@@ -670,15 +670,15 @@ Improvements to Clang's diagnostics
670
670
671
671
- Clang now diagnoses import before module declarations but not in global
672
672
module fragment.
673
- (`#67627: <https://github.com/llvm/llvm-project/issues/67627 >`_).
673
+ (`#67627 <https://github.com/llvm/llvm-project/issues/67627 >`_).
674
674
675
675
- Clang now diagnoses include headers with angle in module purviews, which is
676
676
not usually intended.
677
- (`#68615: <https://github.com/llvm/llvm-project/issues/68615 >`_)
677
+ (`#68615 <https://github.com/llvm/llvm-project/issues/68615 >`_)
678
678
679
679
- Clang now won't mention invisible namespace when diagnose invisible declarations
680
680
inside namespace. The original diagnostic message is confusing.
681
- (`#73893: <https://github.com/llvm/llvm-project/issues/73893 >`_)
681
+ (`#73893 <https://github.com/llvm/llvm-project/issues/73893 >`_)
682
682
683
683
Improvements to Clang's time-trace
684
684
----------------------------------
@@ -963,7 +963,7 @@ Bug Fixes to C++ Support
963
963
964
964
- Fix a crash when calling a non-constant immediate function
965
965
in the initializer of a static data member.
966
- (`#65985 <https://github.com/llvm/llvm-project/issues/65985>_ ` ).
966
+ (`#65985 <https://github.com/llvm/llvm-project/issues/65985 >`_ ).
967
967
- Clang now properly converts static lambda call operator to function
968
968
pointers on win32.
969
969
(`#62594 <https://github.com/llvm/llvm-project/issues/62594 >`_)
@@ -972,7 +972,7 @@ Bug Fixes to C++ Support
972
972
of a function template or a member function of a class template was assigned
973
973
the location of a non-defining declaration rather than the location of the
974
974
definition the specialization was instantiated from.
975
- (`#26057 <https://github.com/llvm/llvm-project/issues/26057>`_` )
975
+ (`#26057 <https://github.com/llvm/llvm-project/issues/26057 >`_)
976
976
977
977
- Fix a crash when a default member initializer of a base aggregate
978
978
makes an invalid call to an immediate function.
@@ -983,11 +983,11 @@ Bug Fixes to C++ Support
983
983
(`#48527 <https://github.com/llvm/llvm-project/issues/48527 >`_)
984
984
985
985
- Clang now no longer asserts when an UnresolvedLookupExpr is used as an
986
- expression requirement. (`#66612 https://github.com/llvm/llvm-project/issues/66612 ` )
986
+ expression requirement. (`#66612 < https://github.com/llvm/llvm-project/issues/66612 >`_ )
987
987
988
988
- Clang now disambiguates NTTP types when printing diagnostics where the
989
989
NTTP types are compared with the 'diff' method.
990
- (`#66744 https://github.com/llvm/llvm-project/issues/66744 ` )
990
+ (`#66744 < https://github.com/llvm/llvm-project/issues/66744 >`_ )
991
991
992
992
- Fix crash caused by a spaceship operator returning a comparision category by
993
993
reference. Fixes:
0 commit comments