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 | |
| 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')
| -rw-r--r-- | clang/test/Modules/Inputs/no-module-map/a.h | 4 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/no-module-map/b.h | 5 | ||||
| -rw-r--r-- | clang/test/Modules/no-module-map.cpp | 43 |
3 files changed, 52 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/no-module-map/a.h b/clang/test/Modules/Inputs/no-module-map/a.h new file mode 100644 index 00000000000..546714f4ca3 --- /dev/null +++ b/clang/test/Modules/Inputs/no-module-map/a.h @@ -0,0 +1,4 @@ +#ifndef A_H +#define A_H +void a(); +#endif diff --git a/clang/test/Modules/Inputs/no-module-map/b.h b/clang/test/Modules/Inputs/no-module-map/b.h new file mode 100644 index 00000000000..d3fbc8b3ad5 --- /dev/null +++ b/clang/test/Modules/Inputs/no-module-map/b.h @@ -0,0 +1,5 @@ +#ifndef B_H +#define B_H +#include "a.h" +void b(); +#endif 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(); } |

