[all-commits] [llvm/llvm-project] e5c790: [C++20][Modules] Implement P2615R1 revised export ...
Iain Sandoe via All-commits
all-commits at lists.llvm.org
Sat Jun 24 01:02:33 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e5c7904fa0bfa5a24f192cfa7b9116560e1f5d43
https://github.com/llvm/llvm-project/commit/e5c7904fa0bfa5a24f192cfa7b9116560e1f5d43
Author: Iain Sandoe <iain at sandoe.co.uk>
Date: 2023-06-24 (Sat, 24 Jun 2023)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaModule.cpp
M clang/test/CXX/module/module.interface/p3.cpp
M clang/test/Modules/cxx20-10-2-ex1.cpp
M clang/test/Modules/cxx20-10-2-ex7.cpp
M clang/test/SemaCXX/modules.cppm
Log Message:
-----------
[C++20][Modules] Implement P2615R1 revised export diagnostics.
It has been reported to that the current clang errors for, specifically,
static_assert in export contexts are a serious blocker to adoption of
modules in some cases.
There is also implementation divergence with GCC and MSVC allowing the
constructs mentioned below where clang currently rejects them with an
error.
The category of errors [for declarations in an exported context] is:
(unnamed, static_assert, empty and asm decls). These are now permitted
after P2615R1 which was approved by WG21 as a DR (and thus should be
applied to C++20 as well).
This patch removes these diagnostics and amends the testsuite accordingly.
Differential Revision: https://reviews.llvm.org/D152946
More information about the All-commits
mailing list