summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r--clang/lib/Driver/Job.cpp4
-rw-r--r--clang/lib/Driver/ToolChains/Clang.cpp7
2 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Driver/Job.cpp b/clang/lib/Driver/Job.cpp
index 765c05752d8..241c72a2e94 100644
--- a/clang/lib/Driver/Job.cpp
+++ b/clang/lib/Driver/Job.cpp
@@ -73,8 +73,8 @@ static bool skipArgs(const char *Flag, bool HaveCrashVFS, int &SkipNum,
// These flags are all of the form -Flag and have no second argument.
ShouldSkip = llvm::StringSwitch<bool>(Flag)
- .Cases("-M", "-MM", "-MG", "-MP", "-MD", true)
- .Case("-MMD", true)
+ .Cases("-M", "-MM", "-MG", "-MP", "-MD", "-MMD", true)
+ .Cases("-fno-canonical-system-headers", "-fcanonical-system-headers", true)
.Default(false);
// Match found.
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 12713f8be2f..1304042c83a 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -964,6 +964,13 @@ void Clang::AddPreprocessingOptions(Compilation &C, const JobAction &JA,
Args.AddLastArg(CmdArgs, options::OPT_C);
Args.AddLastArg(CmdArgs, options::OPT_CC);
+ if (Arg *A = Args.getLastArg(options::OPT_fno_canonical_system_headers,
+ options::OPT_fcanonical_system_headers)) {
+ if (A->getOption().matches(options::OPT_fno_canonical_system_headers)) {
+ CmdArgs.push_back("-fno-canonical-system-headers");
+ }
+ }
+
// Handle dependency file generation.
if ((A = Args.getLastArg(options::OPT_M, options::OPT_MM)) ||
(A = Args.getLastArg(options::OPT_MD)) ||
OpenPOWER on IntegriCloud