You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: clang/docs/ReleaseNotes.rst
+29-2Lines changed: 29 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -520,19 +520,36 @@ Improvements to Clang's diagnostics
520
520
- Several compatibility diagnostics that were incorrectly being grouped under
521
521
``-Wpre-c++20-compat`` are now part of ``-Wc++20-compat``. (#GH138775)
522
522
523
-
- Improved the ``-Wtautological-overlap-compare`` diagnostics to warn about overlapping and non-overlapping ranges involving character literals and floating-point literals.
523
+
- Improved the ``-Wtautological-overlap-compare`` diagnostics to warn about overlapping and non-overlapping ranges involving character literals and floating-point literals.
524
524
The warning message for non-overlapping cases has also been improved (#GH13473).
525
525
526
526
- Fixed a duplicate diagnostic when performing typo correction on function template
527
527
calls with explicit template arguments. (#GH139226)
528
-
528
+
529
529
- Explanatory note is printed when ``assert`` fails during evaluation of a
530
530
constant expression. Prior to this, the error inaccurately implied that assert
531
531
could not be used at all in a constant expression (#GH130458)
532
532
533
533
- A new off-by-default warning ``-Wms-bitfield-padding`` has been added to alert to cases where bit-field
534
534
packing may differ under the MS struct ABI (#GH117428).
535
535
536
+
- ``-Watomic-access`` no longer fires on unreachable code. e.g.,
537
+
538
+
.. code-block:: c
539
+
540
+
_Atomic struct S { int a; } s;
541
+
void func(void) {
542
+
if (0)
543
+
s.a = 12; // Previously diagnosed with -Watomic-access, now silenced
544
+
s.a = 12; // Still diagnosed with -Watomic-access
545
+
return;
546
+
s.a = 12; // Previously diagnosed, now silenced
547
+
}
548
+
549
+
550
+
- A new ``-Wcharacter-conversion`` warns where comparing or implicitly converting
551
+
between different Unicode character types (``char8_t``, ``char16_t``, ``char32_t``).
552
+
This warning only triggers in C++ as these types are aliases in C. (#GH138526)
536
553
537
554
Improvements to Clang's time-trace
538
555
----------------------------------
@@ -597,6 +614,7 @@ Bug Fixes in This Version
597
614
- Fixed a crash with an invalid member function parameter list with a default
598
615
argument which contains a pragma. (#GH113722)
599
616
- Fixed assertion failures when generating name lookup table in modules. (#GH61065, #GH134739)
617
+
- Fixed an assertion failure in constant compound literal statements. (#GH139160)
600
618
601
619
Bug Fixes to Compiler Builtins
602
620
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -709,6 +727,8 @@ Bug Fixes to C++ Support
709
727
- Fixed the handling of pack indexing types in the constraints of a member function redeclaration. (#GH138255)
710
728
- Clang now correctly parses arbitrary order of ``[[]]``, ``__attribute__`` and ``alignas`` attributes for declarations (#GH133107)
711
729
- Fixed a crash when forming an invalid function type in a dependent context. (#GH138657) (#GH115725) (#GH68852)
730
+
- Clang no longer segfaults when there is a configuration mismatch between modules and their users (http://crbug.com/400353616).
731
+
- Fix an incorrect deduction when calling an explicit object member function template through an overload set address.
712
732
713
733
Bug Fixes to AST Handling
714
734
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -857,6 +877,11 @@ clang-format
857
877
- Add ``OneLineFormatOffRegex`` option for turning formatting off for one line.
858
878
- Add ``SpaceAfterOperatorKeyword`` option.
859
879
880
+
clang-refactor
881
+
--------------
882
+
- Reject `0` as column or line number in 1-based command-line source locations.
883
+
Fixes crash caused by `0` input in `-selection=<file>:<line>:<column>[-<line>:<column>]`. (#GH139457)
884
+
860
885
libclang
861
886
--------
862
887
- Fixed a bug in ``clang_File_isEqual`` that sometimes led to different
@@ -875,6 +900,8 @@ libclang
875
900
876
901
Code Completion
877
902
---------------
903
+
- Reject `0` as column or line number in 1-based command-line source locations.
904
+
Fixes crash caused by `0` input in `-code-completion-at=<file>:<line>:<column>`. (#GH139457)
0 commit comments