[PATCH] D117295: [clang][sema] Allow unnamed decls in C++20 module export{} blocks

Timm Bäder via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 25 03:35:10 PST 2022


tbaeder marked an inline comment as done.
tbaeder added inline comments.


================
Comment at: clang/lib/Sema/SemaModule.cpp:650-652
+    if (S.getLangOpts().CPlusPlus2b) {
+      if (BlockStart.isInvalid())
+        diagExportedUnnamedDecl(S, *UDK, D, BlockStart);
----------------
ChuanqiXu wrote:
> Should we add a cite to P1766R1 here?
I wanted to do that, but I'm not 100% sure how. P1766R1 doesn't seem to change any wording for this change. What exactly do I cite?


================
Comment at: clang/test/CXX/module/module.interface/p3.cpp:12-16
-export { // expected-note 3{{export block begins here}}
-  ; // expected-error {{ISO C++20 does not permit an empty declaration to appear in an export block}}
-  static_assert(true); // expected-error {{ISO C++20 does not permit a static_assert declaration to appear in an export block}}
-  using namespace A; // expected-error {{ISO C++20 does not permit using directive to be exported}}
-}
----------------
ChuanqiXu wrote:
> This one should be deleted unintentionally.
Right, I forgot about that. Added it back, thanks.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117295/new/

https://reviews.llvm.org/D117295



More information about the cfe-commits mailing list