summaryrefslogtreecommitdiff
path: root/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2013-02-07 01:18:48 +0000
committerDouglas Gregor <dgregor@apple.com>2013-02-07 01:18:48 +0000
commit005d51bc4f16a7b330e13082d186b72953bde581 (patch)
treea3839d8720640f53afebe03e9308c2992d0eb732 /lib/Frontend/CompilerInvocation.cpp
parentd46b7ec911ce1cb837397d5e12fe9928f63de6ab (diff)
downloadclang-005d51bc4f16a7b330e13082d186b72953bde581.tar.gz
Be a little more permissive with -fmodules-ignore-macro= by removing everything after the second '=' if it is there.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174567 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--lib/Frontend/CompilerInvocation.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp
index 34496ede26..0e313a9f50 100644
--- a/lib/Frontend/CompilerInvocation.cpp
+++ b/lib/Frontend/CompilerInvocation.cpp
@@ -816,8 +816,8 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args) {
for (arg_iterator it = Args.filtered_begin(OPT_fmodules_ignore_macro),
ie = Args.filtered_end(); it != ie; ++it) {
- const Arg *A = *it;
- Opts.ModulesIgnoreMacros.insert(A->getValue());
+ StringRef MacroDef = (*it)->getValue();
+ Opts.ModulesIgnoreMacros.insert(MacroDef.split('=').first);
}
// Add -I..., -F..., and -index-header-map options in order.
@@ -1617,14 +1617,9 @@ std::string CompilerInvocation::getModuleHash() const {
// If we're supposed to ignore this macro for the purposes of modules,
// don't put it into the hash.
if (!hsOpts.ModulesIgnoreMacros.empty()) {
- // Dig out the macro name.
- StringRef MacroName = I->first;
- StringRef::size_type EqPos = MacroName.find('=');
- if (EqPos != StringRef::npos)
- MacroName = MacroName.substr(0, EqPos);
-
// Check whether we're ignoring this macro.
- if (hsOpts.ModulesIgnoreMacros.count(MacroName))
+ StringRef MacroDef = I->first;
+ if (hsOpts.ModulesIgnoreMacros.count(MacroDef.split('=').first))
continue;
}