summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Driver/Job.cpp2
-rw-r--r--clang/lib/Driver/ToolChains/Linux.cpp13
-rw-r--r--clang/lib/Driver/ToolChains/Linux.h2
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp4
-rw-r--r--clang/lib/Frontend/InitPreprocessor.cpp16
5 files changed, 1 insertions, 36 deletions
diff --git a/clang/lib/Driver/Job.cpp b/clang/lib/Driver/Job.cpp
index b494bc75282..765c05752d8 100644
--- a/clang/lib/Driver/Job.cpp
+++ b/clang/lib/Driver/Job.cpp
@@ -64,7 +64,7 @@ static bool skipArgs(const char *Flag, bool HaveCrashVFS, int &SkipNum,
.Cases("-internal-externc-isystem", "-iprefix", true)
.Cases("-iwithprefixbefore", "-isystem", "-iquote", true)
.Cases("-isysroot", "-I", "-F", "-resource-dir", true)
- .Cases("-iframework", "-include-pch", "-fsystem-include-if-exists", true)
+ .Cases("-iframework", "-include-pch", true)
.Default(false);
if (IsInclude)
return HaveCrashVFS ? false : true;
diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
index 5ae250759b1..ca042f38db8 100644
--- a/clang/lib/Driver/ToolChains/Linux.cpp
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
@@ -710,8 +710,6 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
-
- AddGnuIncludeArgs(DriverArgs, CC1Args);
}
static std::string DetectLibcxxIncludePath(StringRef base) {
@@ -750,17 +748,6 @@ std::string Linux::findLibCxxIncludePath() const {
return "";
}
-void Linux::AddGnuIncludeArgs(const llvm::opt::ArgList &DriverArgs,
- llvm::opt::ArgStringList &CC1Args) const {
- if (!DriverArgs.hasArg(options::OPT_ffreestanding)) {
- // For gcc compatibility, clang will preinclude <stdc-predef.h>
- // -ffreestanding suppresses this behavior.
- CC1Args.push_back("-fsystem-include-if-exists");
- CC1Args.push_back("stdc-predef.h");
- }
-}
-
-
void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const {
// We need a detected GCC installation on Linux to provide libstdc++'s
diff --git a/clang/lib/Driver/ToolChains/Linux.h b/clang/lib/Driver/ToolChains/Linux.h
index 8b7e2e2ad53..9778c1832cc 100644
--- a/clang/lib/Driver/ToolChains/Linux.h
+++ b/clang/lib/Driver/ToolChains/Linux.h
@@ -31,8 +31,6 @@ public:
void addLibStdCxxIncludePaths(
const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const override;
- void AddGnuIncludeArgs(const llvm::opt::ArgList &DriverArgs,
- llvm::opt::ArgStringList &CC1Args) const;
void AddCudaIncludeArgs(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const override;
void AddIAMCUIncludeArgs(const llvm::opt::ArgList &DriverArgs,
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index 748c7ffbcdf..384124bee2b 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -2594,10 +2594,6 @@ static void ParsePreprocessorArgs(PreprocessorOptions &Opts, ArgList &Args,
for (const Arg *A : Args.filtered(OPT_chain_include))
Opts.ChainedIncludes.emplace_back(A->getValue());
- // Add the ordered list of -fsystem-include-if-exists.
- for (const Arg *A : Args.filtered(OPT_fsystem_include_if_exists))
- Opts.FSystemIncludeIfExists.emplace_back(A->getValue());
-
for (const Arg *A : Args.filtered(OPT_remap_file)) {
std::pair<StringRef, StringRef> Split = StringRef(A->getValue()).split(';');
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index 6980706a90d..1dfbf187554 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -70,15 +70,6 @@ static void AddImplicitInclude(MacroBuilder &Builder, StringRef File) {
Builder.append(Twine("#include \"") + File + "\"");
}
-/// AddImplicitSystemIncludeIfExists - Add an implicit system \#include of the
-/// specified file to the predefines buffer: precheck with __has_include.
-static void AddImplicitSystemIncludeIfExists(MacroBuilder &Builder,
- StringRef File) {
- Builder.append(Twine("#if __has_include( <") + File + ">)");
- Builder.append(Twine("#include <") + File + ">");
- Builder.append(Twine("#endif"));
-}
-
static void AddImplicitIncludeMacros(MacroBuilder &Builder, StringRef File) {
Builder.append(Twine("#__include_macros \"") + File + "\"");
// Marker token to stop the __include_macros fetch loop.
@@ -1119,13 +1110,6 @@ void clang::InitializePreprocessor(
// Exit the command line and go back to <built-in> (2 is LC_LEAVE).
if (!PP.getLangOpts().AsmPreprocessor)
Builder.append("# 1 \"<built-in>\" 2");
-
- // Process -fsystem-include-if-exists directives.
- for (unsigned i = 0,
- e = InitOpts.FSystemIncludeIfExists.size(); i != e; ++i) {
- const std::string &Path = InitOpts.FSystemIncludeIfExists[i];
- AddImplicitSystemIncludeIfExists(Builder, Path);
- }
// If -imacros are specified, include them now. These are processed before
// any -include directives.
OpenPOWER on IntegriCloud