diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-07-10 22:27:17 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-07-10 22:27:17 +0000 |
commit | e70dadd67b0d1e7db10ef8d0cda711f10bfd7768 (patch) | |
tree | 2b6841fd5a385db0b371f05657247606f692ee8a /clang/test/Modules/Inputs | |
parent | 0bb1fc410bf249ee9f8369e0219405804d68cba6 (diff) | |
download | bcm5719-llvm-e70dadd67b0d1e7db10ef8d0cda711f10bfd7768.tar.gz bcm5719-llvm-e70dadd67b0d1e7db10ef8d0cda711f10bfd7768.zip |
[modules] When checking the include guard for a header, check whether it's
visible in the module we're considering entering. Previously we assumed that if
we knew the include guard for a modular header, we'd already parsed it, but
that need not be the case if a header is present in the current module and one
of its dependencies; the result of getting this wrong was that the current
module's submodule for the header would end up empty.
llvm-svn: 241953
Diffstat (limited to 'clang/test/Modules/Inputs')
5 files changed, 10 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/multiple-include/a.h b/clang/test/Modules/Inputs/multiple-include/a.h new file mode 100644 index 00000000000..82661908588 --- /dev/null +++ b/clang/test/Modules/Inputs/multiple-include/a.h @@ -0,0 +1 @@ +#include "x.h" diff --git a/clang/test/Modules/Inputs/multiple-include/b.h b/clang/test/Modules/Inputs/multiple-include/b.h new file mode 100644 index 00000000000..f56ab64da6b --- /dev/null +++ b/clang/test/Modules/Inputs/multiple-include/b.h @@ -0,0 +1,3 @@ +#pragma clang __debug macro C_H +#include "c.h" +inline int get() { return c; } diff --git a/clang/test/Modules/Inputs/multiple-include/c.h b/clang/test/Modules/Inputs/multiple-include/c.h new file mode 100644 index 00000000000..4e7d4b742dc --- /dev/null +++ b/clang/test/Modules/Inputs/multiple-include/c.h @@ -0,0 +1,4 @@ +#ifndef C_H +#define C_H +extern int c; +#endif diff --git a/clang/test/Modules/Inputs/multiple-include/module.modulemap b/clang/test/Modules/Inputs/multiple-include/module.modulemap new file mode 100644 index 00000000000..1228ae6cbb7 --- /dev/null +++ b/clang/test/Modules/Inputs/multiple-include/module.modulemap @@ -0,0 +1,2 @@ +module A { module a { header "a.h" } module b { header "b.h" } module c { header "c.h" } } +module X { module x { header "x.h" } module c { header "c.h" } } diff --git a/clang/test/Modules/Inputs/multiple-include/x.h b/clang/test/Modules/Inputs/multiple-include/x.h new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Modules/Inputs/multiple-include/x.h |