diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-09-15 01:21:15 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2018-09-15 01:21:15 +0000 |
commit | d6509cf21dd017392f82da0eb9b0345fbfc8970b (patch) | |
tree | 2b3223d4aabe04fc1205a9e2158019bd3c87275b /clang/test/Modules/no-module-map.cpp | |
parent | 66f3dc031d7922cb87b115ce8e5ca38db67aadd2 (diff) | |
download | bcm5719-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.cpp | 43 |
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(); } |