summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/no-module-map.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2018-09-15 01:21:15 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2018-09-15 01:21:15 +0000
commitd6509cf21dd017392f82da0eb9b0345fbfc8970b (patch)
tree2b3223d4aabe04fc1205a9e2158019bd3c87275b /clang/test/Modules/no-module-map.cpp
parent66f3dc031d7922cb87b115ce8e5ca38db67aadd2 (diff)
downloadbcm5719-llvm-d6509cf21dd017392f82da0eb9b0345fbfc8970b.tar.gz
bcm5719-llvm-d6509cf21dd017392f82da0eb9b0345fbfc8970b.zip
[modules] Frontend support for building a header module from a list of
headaer files. llvm-svn: 342304
Diffstat (limited to 'clang/test/Modules/no-module-map.cpp')
-rw-r--r--clang/test/Modules/no-module-map.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/clang/test/Modules/no-module-map.cpp b/clang/test/Modules/no-module-map.cpp
new file mode 100644
index 00000000000..08a864bc84b
--- /dev/null
+++ b/clang/test/Modules/no-module-map.cpp
@@ -0,0 +1,43 @@
+// RUN: %clang_cc1 -fmodules-ts -fmodule-name=ab -x c++-header %S/Inputs/no-module-map/a.h %S/Inputs/no-module-map/b.h -emit-header-module -o %t.pcm
+// RUN: %clang_cc1 -fmodules-ts -fmodule-file=%t.pcm %s -I%S/Inputs/no-module-map -verify
+// RUN: %clang_cc1 -fmodules-ts -fmodule-file=%t.pcm %s -I%S/Inputs/no-module-map -verify -DA
+// RUN: %clang_cc1 -fmodules-ts -fmodule-file=%t.pcm %s -I%S/Inputs/no-module-map -verify -DB
+// RUN: %clang_cc1 -fmodules-ts -fmodule-file=%t.pcm %s -I%S/Inputs/no-module-map -verify -DA -DB
+
+#ifdef B
+// expected-no-diagnostics
+#endif
+
+#ifdef A
+#include "a.h"
+#endif
+
+#ifdef B
+#include "b.h"
+#endif
+
+#if defined(A) || defined(B)
+#ifndef A_H
+#error A_H should be defined
+#endif
+#else
+#ifdef A_H
+#error A_H should not be defined
+#endif
+// expected-error@+3 {{must be imported from}}
+// expected-note@* {{previous declaration}}
+#endif
+void use_a() { a(); }
+
+#if defined(B)
+#ifndef B_H
+#error B_H should be defined
+#endif
+#else
+#ifdef B_H
+#error B_H should not be defined
+#endif
+// expected-error@+3 {{must be imported from}}
+// expected-note@* {{previous declaration}}
+#endif
+void use_b() { b(); }
OpenPOWER on IntegriCloud