@@ -97,10 +97,6 @@ C/C++ Language Potentially Breaking Changes
97
97
outlined in "The Equality Operator You Are Looking For" (`P2468 <http://wg21.link/p2468r2 >`_).
98
98
Fixes (`#68901: <https://github.com/llvm/llvm-project/issues/68901 >`_).
99
99
100
- - Remove the hardcoded path to the imported modules for C++20 named modules. Now we
101
- require all the dependent modules to specified from the command line.
102
- See (`#62707: <https://github.com/llvm/llvm-project/issues/62707 >`_).
103
-
104
100
C++ Specific Potentially Breaking Changes
105
101
-----------------------------------------
106
102
- The name mangling rules for function templates has been changed to take into
@@ -141,6 +137,13 @@ C++ Specific Potentially Breaking Changes
141
137
when targetting MSVC to match the behavior of MSVC.
142
138
(`MSVC Docs <https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170 >`_)
143
139
140
+ - Remove the hardcoded path to the imported modules for C++20 named modules. Now we
141
+ require all the dependent modules to specified from the command line.
142
+ See (`#62707: <https://github.com/llvm/llvm-project/issues/62707 >`_).
143
+
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 >`_).
146
+
144
147
ABI Changes in This Version
145
148
---------------------------
146
149
- Following the SystemV ABI for x86-64, ``__int128 `` arguments will no longer
@@ -596,6 +599,17 @@ Improvements to Clang's diagnostics
596
599
13 | new (__builtin_memset) S {};
597
600
| ^
598
601
602
+ - Clang now diagnoses import before module declarations but not in global
603
+ module fragment.
604
+ (`#67627: <https://github.com/llvm/llvm-project/issues/67627 >`_).
605
+
606
+ - Clang now diagnoses include headers with angle in module purviews, which is
607
+ not usually intended.
608
+ (`#68615: <https://github.com/llvm/llvm-project/issues/68615 >`_)
609
+
610
+ - Clang now won't mention invisible namespace when diagnose invisible declarations
611
+ inside namespace. The original diagnostic message is confusing.
612
+ (`#73893: <https://github.com/llvm/llvm-project/issues/73893 >`_)
599
613
600
614
Improvements to Clang's time-trace
601
615
----------------------------------
@@ -982,6 +996,16 @@ Bug Fixes to C++ Support
982
996
- Clang now allows parenthesized initialization of arrays in `operator new[] `.
983
997
Fixes: (`#68198 <https://github.com/llvm/llvm-project/issues/68198 >`_)
984
998
999
+ - Fix crash when importing the same module with an dynamic initializer twice
1000
+ in different visibility.
1001
+ Fixes (`#67893 <https://github.com/llvm/llvm-project/issues/67893 >`_)
1002
+
1003
+ - Fix a false-positive ODR violation for different definitions for `std::align_val_t `.
1004
+ Fixes (`#76638 <https://github.com/llvm/llvm-project/issues/76638 >`_)
1005
+
1006
+ - Remove recorded `#pragma once ` state for headers included in named modules.
1007
+ Fixes (`#77995 <https://github.com/llvm/llvm-project/issues/77995 >`_)
1008
+
985
1009
Bug Fixes to AST Handling
986
1010
^^^^^^^^^^^^^^^^^^^^^^^^^
987
1011
- Fixed an import failure of recursive friend class template.
@@ -1350,6 +1374,14 @@ Improvements
1350
1374
- Checkers can query constraint bounds to improve diagnostic messages.
1351
1375
(`#74141 <https://github.com/llvm/llvm-project/pull/74141 >`_)
1352
1376
1377
+ - Improved the generated initializers for modules. Now the calls to initialize
1378
+ functions from imported module units can be omitted if the initialize
1379
+ function is known to be empty.
1380
+ (`#56794 <https://github.com/llvm/llvm-project/issues/56794 >`_)
1381
+
1382
+ - Clang now allow to export declarations within linkage-specification.
1383
+ (`#71347 <https://github.com/llvm/llvm-project/issues/71347 >`_)
1384
+
1353
1385
Moved checkers
1354
1386
^^^^^^^^^^^^^^
1355
1387
0 commit comments