зеркало из https://github.com/microsoft/clang-1.git
Remove the storage for -cxx-system-include. Make libcxx toolchain
use -nostdinc++ and -cxx-isystem. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126223 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
a5ef584fd3
Коммит
0bb208c91e
|
@ -55,9 +55,6 @@ public:
|
||||||
/// User specified include entries.
|
/// User specified include entries.
|
||||||
std::vector<Entry> UserEntries;
|
std::vector<Entry> UserEntries;
|
||||||
|
|
||||||
/// If non-empty, the list of C++ standard include paths to use.
|
|
||||||
std::vector<std::string> CXXSystemIncludes;
|
|
||||||
|
|
||||||
/// A (system-path) delimited list of include paths to be added from the
|
/// A (system-path) delimited list of include paths to be added from the
|
||||||
/// environment following the user specified includes (but prior to builtin
|
/// environment following the user specified includes (but prior to builtin
|
||||||
/// and standard includes). This is parsed in the same manner as the CPATH
|
/// and standard includes). This is parsed in the same manner as the CPATH
|
||||||
|
|
|
@ -198,7 +198,8 @@ void ToolChain::AddClangCXXStdlibIncludeArgs(const ArgList &Args,
|
||||||
|
|
||||||
switch (Type) {
|
switch (Type) {
|
||||||
case ToolChain::CST_Libcxx:
|
case ToolChain::CST_Libcxx:
|
||||||
CmdArgs.push_back("-cxx-system-include");
|
CmdArgs.push_back("-nostdinc++");
|
||||||
|
CmdArgs.push_back("-cxx-isystem");
|
||||||
CmdArgs.push_back("/usr/include/c++/v1");
|
CmdArgs.push_back("/usr/include/c++/v1");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -473,11 +473,6 @@ static void HeaderSearchOptsToArgs(const HeaderSearchOptions &Opts,
|
||||||
Res.push_back(Opts.Sysroot);
|
Res.push_back(Opts.Sysroot);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (unsigned i = 0, e = Opts.CXXSystemIncludes.size(); i != e; ++i) {
|
|
||||||
Res.push_back("-cxx-system-include");
|
|
||||||
Res.push_back(Opts.CXXSystemIncludes[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// User specified include entries.
|
/// User specified include entries.
|
||||||
for (unsigned i = 0, e = Opts.UserEntries.size(); i != e; ++i) {
|
for (unsigned i = 0, e = Opts.UserEntries.size(); i != e; ++i) {
|
||||||
const HeaderSearchOptions::Entry &E = Opts.UserEntries[i];
|
const HeaderSearchOptions::Entry &E = Opts.UserEntries[i];
|
||||||
|
|
|
@ -816,13 +816,8 @@ AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple) {
|
||||||
void InitHeaderSearch::AddDefaultSystemIncludePaths(const LangOptions &Lang,
|
void InitHeaderSearch::AddDefaultSystemIncludePaths(const LangOptions &Lang,
|
||||||
const llvm::Triple &triple,
|
const llvm::Triple &triple,
|
||||||
const HeaderSearchOptions &HSOpts) {
|
const HeaderSearchOptions &HSOpts) {
|
||||||
if (Lang.CPlusPlus && HSOpts.UseStandardCXXIncludes) {
|
if (Lang.CPlusPlus && HSOpts.UseStandardCXXIncludes)
|
||||||
if (!HSOpts.CXXSystemIncludes.empty()) {
|
AddDefaultCPlusPlusIncludePaths(triple);
|
||||||
for (unsigned i = 0, e = HSOpts.CXXSystemIncludes.size(); i != e; ++i)
|
|
||||||
AddPath(HSOpts.CXXSystemIncludes[i], CXXSystem, true, false, false);
|
|
||||||
} else
|
|
||||||
AddDefaultCPlusPlusIncludePaths(triple);
|
|
||||||
}
|
|
||||||
|
|
||||||
AddDefaultCIncludePaths(triple, HSOpts);
|
AddDefaultCIncludePaths(triple, HSOpts);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче