Detect when we end up trying to load conflicting module files.
authorDouglas Gregor <dgregor@apple.com>
Wed, 6 Feb 2013 22:40:31 +0000 (22:40 +0000)
committerDouglas Gregor <dgregor@apple.com>
Wed, 6 Feb 2013 22:40:31 +0000 (22:40 +0000)
commit8a114ab557f04ac015dc67a4d92ddeb8978833e0
treeba9747a1c74fb35ea146d1da8ff342ea82f81a6c
parentd5d4c89bf0484422d52857d193fbced51472d5d1
Detect when we end up trying to load conflicting module files.

This can happen when one abuses precompiled headers by passing more -D
options when using a precompiled hedaer than when it was built. This
is intentionally permitted by precompiled headers (and is exploited by
some build environments), but causes problems for modules.

First part of <rdar://problem/13165109>, detecting when something when
horribly wrong.

llvm-svn: 174554
clang/include/clang/Basic/DiagnosticCommonKinds.td
clang/lib/Frontend/CompilerInstance.cpp
clang/lib/Serialization/ASTReader.cpp
clang/test/Modules/Inputs/ignored_macros.h [new file with mode: 0644]
clang/test/Modules/Inputs/module.map
clang/test/Modules/ignored_macros.m [new file with mode: 0644]