[clang] 407db48 - [Release Notes] [C++20] [Modules] Summarize modules related change to the release note for clang 18

Chuanqi Xu via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 18 23:26:56 PST 2024


Author: Chuanqi Xu
Date: 2024-01-19T15:26:22+08:00
New Revision: 407db48eb4d387ae272bfbef9b12868806f1e830

URL: https://github.com/llvm/llvm-project/commit/407db48eb4d387ae272bfbef9b12868806f1e830
DIFF: https://github.com/llvm/llvm-project/commit/407db48eb4d387ae272bfbef9b12868806f1e830.diff

LOG: [Release Notes] [C++20] [Modules] Summarize modules related change to the release note for clang 18

Given clang18 is going to be released, this patch collects the modules
related change to release notes to make users have a clear
vision for modules.

Added: 
    

Modified: 
    clang/docs/ReleaseNotes.rst

Removed: 
    


################################################################################
diff  --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 63f756f30873c6..392f694065a242 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -97,10 +97,6 @@ C/C++ Language Potentially Breaking Changes
   outlined in "The Equality Operator You Are Looking For" (`P2468 <http://wg21.link/p2468r2>`_).
   Fixes (`#68901: <https://github.com/llvm/llvm-project/issues/68901>`_).
 
-- Remove the hardcoded path to the imported modules for C++20 named modules. Now we
-  require all the dependent modules to specified from the command line.
-  See (`#62707: <https://github.com/llvm/llvm-project/issues/62707>`_).
-
 C++ Specific Potentially Breaking Changes
 -----------------------------------------
 - The name mangling rules for function templates has been changed to take into
@@ -141,6 +137,13 @@ C++ Specific Potentially Breaking Changes
   when targetting MSVC to match the behavior of MSVC.
   (`MSVC Docs <https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170>`_)
 
+- Remove the hardcoded path to the imported modules for C++20 named modules. Now we
+  require all the dependent modules to specified from the command line.
+  See (`#62707: <https://github.com/llvm/llvm-project/issues/62707>`_).
+
+- Forbid `import XXX;` in C++ to find module `XXX` comes from explicit clang modules.
+  See (`#64755: <https://github.com/llvm/llvm-project/issues/64755>`_).
+
 ABI Changes in This Version
 ---------------------------
 - Following the SystemV ABI for x86-64, ``__int128`` arguments will no longer
@@ -596,6 +599,17 @@ Improvements to Clang's diagnostics
        13 |     new (__builtin_memset) S {};
           |          ^
 
+- Clang now diagnoses import before module declarations but not in global
+  module fragment.
+  (`#67627: <https://github.com/llvm/llvm-project/issues/67627>`_).
+
+- Clang now diagnoses include headers with angle in module purviews, which is
+  not usually intended.
+  (`#68615: <https://github.com/llvm/llvm-project/issues/68615>`_)
+
+- Clang now won't mention invisible namespace when diagnose invisible declarations
+  inside namespace. The original diagnostic message is confusing.
+  (`#73893: <https://github.com/llvm/llvm-project/issues/73893>`_)
 
 Improvements to Clang's time-trace
 ----------------------------------
@@ -982,6 +996,16 @@ Bug Fixes to C++ Support
 - Clang now allows parenthesized initialization of arrays in `operator new[]`.
   Fixes: (`#68198 <https://github.com/llvm/llvm-project/issues/68198>`_)
 
+- Fix crash when importing the same module with an dynamic initializer twice
+  in 
diff erent visibility.
+  Fixes (`#67893 <https://github.com/llvm/llvm-project/issues/67893>`_)
+
+- Fix a false-positive ODR violation for 
diff erent definitions for `std::align_val_t`.
+  Fixes (`#76638 <https://github.com/llvm/llvm-project/issues/76638>`_)
+
+- Remove recorded `#pragma once` state for headers included in named modules.
+  Fixes (`#77995 <https://github.com/llvm/llvm-project/issues/77995>`_)
+
 Bug Fixes to AST Handling
 ^^^^^^^^^^^^^^^^^^^^^^^^^
 - Fixed an import failure of recursive friend class template.
@@ -1350,6 +1374,14 @@ Improvements
 - Checkers can query constraint bounds to improve diagnostic messages.
   (`#74141 <https://github.com/llvm/llvm-project/pull/74141>`_)
 
+- Improved the generated initializers for modules. Now the calls to initialize
+  functions from imported module units can be omitted if the initialize
+  function is known to be empty.
+  (`#56794 <https://github.com/llvm/llvm-project/issues/56794>`_)
+
+- Clang now allow to export declarations within linkage-specification.
+  (`#71347 <https://github.com/llvm/llvm-project/issues/71347>`_)
+
 Moved checkers
 ^^^^^^^^^^^^^^
 


        


More information about the cfe-commits mailing list