================
@@ -0,0 +1,42 @@
+// RUN: rm -rf %t
+// RUN: mkdir %t
+// RUN: split-file --leading-lines %s %t
+// RUN: %clang_cc1 -std=c++20 -pedantic-errors -fexceptions -fcxx-exceptions 
%t/cwg279_A.cppm -triple x86_64-unknown-unknown -emit-module-interface -o 
%t/cwg279_A.pcm
+// RUN: %clang_cc1 -std=c++20 -verify=since-cxx20 -pedantic-errors 
-fexceptions -fcxx-exceptions -triple x86_64-unknown-unknown %t/cwg279.cpp 
-fmodule-file=cwg279_A=%t/cwg279_A.pcm
+// RUN: %clang_cc1 -std=c++23 -pedantic-errors -fexceptions -fcxx-exceptions 
%t/cwg279_A.cppm -triple x86_64-unknown-unknown -emit-module-interface -o 
%t/cwg279_A.pcm
+// RUN: %clang_cc1 -std=c++23 -verify=since-cxx20 -pedantic-errors 
-fexceptions -fcxx-exceptions -triple x86_64-unknown-unknown %t/cwg279.cpp 
-fmodule-file=cwg279_A=%t/cwg279_A.pcm
+// RUN: %clang_cc1 -std=c++2c -pedantic-errors -fexceptions -fcxx-exceptions 
%t/cwg279_A.cppm -triple x86_64-unknown-unknown -emit-module-interface -o 
%t/cwg279_A.pcm
+// RUN: %clang_cc1 -std=c++2c -verify=since-cxx20 -pedantic-errors 
-fexceptions -fcxx-exceptions -triple x86_64-unknown-unknown %t/cwg279.cpp 
-fmodule-file=cwg279_A=%t/cwg279_A.pcm
+
+// cwg279: no
+
+//--- cwg279_A.cppm
+export module cwg279_A;
+
+export {
+struct S; // #cwg279-S
+extern S *q; // #cwg279-q
+
+struct S2 {}; // #cwg279-S2
+extern S2 *q2; // #cwg279-q2
+} // export
+
+//--- cwg279.cpp
+import cwg279_A;
+
+// FIXME: We should use markers instead. They are less fragile,
----------------
cor3ntin wrote:

Can you add a test with `struct S {}` (no typedef)  - which should pass

https://github.com/llvm/llvm-project/pull/113736
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to