xref: /llvm-project/clang/test/CXX/basic/basic.link/p2.cpp (revision 57833636816a13ccda53714413c532dc81e3b5ff)
1a5bbbfefSRichard Smith // RUN: %clang_cc1 -std=c++2a -DEXPORT %s -verify
2a5bbbfefSRichard Smith // RUN: %clang_cc1 -std=c++2a -DEXPORT %s -emit-module-interface -o %t.pcm
3*57833636SChuanqi Xu // RUN: %clang_cc1 -std=c++2a -UEXPORT %s -verify -fmodule-file=M=%t.pcm
4a5bbbfefSRichard Smith 
5a5bbbfefSRichard Smith #ifdef EXPORT
6a5bbbfefSRichard Smith // expected-no-diagnostics
7a5bbbfefSRichard Smith export
8a5bbbfefSRichard Smith #else
9a5bbbfefSRichard Smith // expected-note@+2 {{add 'export' here}}
10a5bbbfefSRichard Smith #endif
11a5bbbfefSRichard Smith module M;
12a5bbbfefSRichard Smith 
13a5bbbfefSRichard Smith #ifndef EXPORT
14a5bbbfefSRichard Smith // expected-error@+2 {{private module fragment in module implementation unit}}
15a5bbbfefSRichard Smith #endif
16a5bbbfefSRichard Smith module :private;
17