diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-07-18 22:13:40 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-07-18 22:13:40 +0000 |
commit | e657bbdcbc8e9ed27398068d0f6ae073470043bf (patch) | |
tree | 536f17d29f9966f1583f3cbad5bb3cc0e98168dd /clang/test/Modules/Inputs/macro-hiding/module.modulemap | |
parent | ad2e0352f07903de00c2a21b524f40ff3297b861 (diff) | |
download | bcm5719-llvm-e657bbdcbc8e9ed27398068d0f6ae073470043bf.tar.gz bcm5719-llvm-e657bbdcbc8e9ed27398068d0f6ae073470043bf.zip |
Reinstate r213348, reverted in r213395, with an additional bug fix and more
thorough tests.
Original commit message:
[modules] Fix macro hiding bug exposed if:
* A submodule of module A is imported into module B
* Another submodule of module A that is not imported into B exports a macro
* Some submodule of module B also exports a definition of the macro, and
happens to be the first submodule of B that imports module A.
In this case, we would incorrectly determine that A's macro redefines B's
macro, and so we don't need to re-export B's macro at all.
This happens with the 'assert' macro in an LLVM self-host. =(
llvm-svn: 213416
Diffstat (limited to 'clang/test/Modules/Inputs/macro-hiding/module.modulemap')
-rw-r--r-- | clang/test/Modules/Inputs/macro-hiding/module.modulemap | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/macro-hiding/module.modulemap b/clang/test/Modules/Inputs/macro-hiding/module.modulemap new file mode 100644 index 00000000000..14ca9af86ab --- /dev/null +++ b/clang/test/Modules/Inputs/macro-hiding/module.modulemap @@ -0,0 +1,14 @@ +module a { + module a1 { header "a1.h" export * } + module a2 { header "a2.h" export * } +} +module b { + module b1 { header "b1.h" export * } + module b2 { header "b2.h" export * } +} +module c { + module c1 { header "c1.h" export * } +} +module d { + module d1 { header "d1.h" export * } +} |