[Frontend] Make the include dir group independent from the "use sysroot" bit.
- This slightly decouples the path handling, since before the group sometimes
dominated the "use sysroot" bit, but it was still passed in via the API.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173855 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp
index 245de34..b6a83b2 100644
--- a/lib/Frontend/CompilerInvocation.cpp
+++ b/lib/Frontend/CompilerInvocation.cpp
@@ -833,7 +833,7 @@
= IsIndexHeaderMap? frontend::IndexHeaderMap : frontend::Angled;
Opts.AddPath((*it)->getValue(), Group,
- /*IsFramework=*/ (*it)->getOption().matches(OPT_F), false);
+ /*IsFramework=*/ (*it)->getOption().matches(OPT_F), true);
IsIndexHeaderMap = false;
}
@@ -847,18 +847,18 @@
Prefix = A->getValue();
else if (A->getOption().matches(OPT_iwithprefix))
Opts.AddPath(Prefix.str() + A->getValue(),
- frontend::After, false, false);
+ frontend::After, false, true);
else
Opts.AddPath(Prefix.str() + A->getValue(),
- frontend::Angled, false, false);
+ frontend::Angled, false, true);
}
for (arg_iterator it = Args.filtered_begin(OPT_idirafter),
ie = Args.filtered_end(); it != ie; ++it)
- Opts.AddPath((*it)->getValue(), frontend::After, false, false);
+ Opts.AddPath((*it)->getValue(), frontend::After, false, true);
for (arg_iterator it = Args.filtered_begin(OPT_iquote),
ie = Args.filtered_end(); it != ie; ++it)
- Opts.AddPath((*it)->getValue(), frontend::Quoted, false, false);
+ Opts.AddPath((*it)->getValue(), frontend::Quoted, false, true);
for (arg_iterator it = Args.filtered_begin(OPT_isystem,
OPT_iwithsysroot), ie = Args.filtered_end(); it != ie; ++it)
Opts.AddPath((*it)->getValue(), frontend::System, false,
diff --git a/lib/Frontend/InitHeaderSearch.cpp b/lib/Frontend/InitHeaderSearch.cpp
index d23c988..ba3abba 100644
--- a/lib/Frontend/InitHeaderSearch.cpp
+++ b/lib/Frontend/InitHeaderSearch.cpp
@@ -122,9 +122,7 @@
StringRef MappedPathStr = Path.toStringRef(MappedPathStorage);
// Prepend the sysroot, if desired and this is a system header group.
- if (HasSysroot && !IgnoreSysRoot &&
- (Group == System || Group == CXXSystem) &&
- CanPrefixSysroot(MappedPathStr)) {
+ if (HasSysroot && !IgnoreSysRoot && CanPrefixSysroot(MappedPathStr)) {
MappedPathStorage.clear();
MappedPathStr = (IncludeSysroot + Path).toStringRef(MappedPathStorage);
}