diff options
Diffstat (limited to 'test/Modules/config-mismatch.cpp')
-rw-r--r-- | test/Modules/config-mismatch.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/Modules/config-mismatch.cpp b/test/Modules/config-mismatch.cpp new file mode 100644 index 000000000000..9ddc513cd178 --- /dev/null +++ b/test/Modules/config-mismatch.cpp @@ -0,0 +1,13 @@ +// RUN: rm -rf %t +// RUN: mkdir %t +// RUN: echo 'module M { header "foo.h" header "bar.h" }' > %t/map +// RUN: echo 'template<typename T> void f(T t) { int n; t.f(n); }' > %t/foo.h +// RUN: touch %t/bar.h +// RUN: %clang_cc1 -fmodules -fmodules-local-submodule-visibility -x c++ %t/map -emit-module -fmodule-name=M -o %t/pcm +// RUN: %clang_cc1 -fmodules -fmodules-local-submodule-visibility -fmodule-map-file=%t/map -fmodule-file=%t/pcm -I%t %s -fsyntax-only -fexceptions -Wno-module-file-config-mismatch -verify +// RUN: rm %t/bar.h +// RUN: %clang_cc1 -fmodules -fmodules-local-submodule-visibility -fmodule-map-file=%t/map -fmodule-file=%t/pcm -I%t %s -fsyntax-only -fexceptions -Wno-module-file-config-mismatch -verify +#include "foo.h" +namespace n { // expected-note {{begins here}} +#include "foo.h" // expected-error {{redundant #include of module 'M' appears within namespace}} +} |