diff options
author | Erich Keane <erich.keane@intel.com> | 2017-12-11 17:36:42 +0000 |
---|---|---|
committer | Erich Keane <erich.keane@intel.com> | 2017-12-11 17:36:42 +0000 |
commit | bb322555afb4fb135abc48fbb3383b7216557995 (patch) | |
tree | 782f5e3b1f233605be86108c24fa62f3b624261e /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 63fcc5cccc8aa124858a9a79e275bdc5955bf5c0 (diff) | |
download | bcm5719-llvm-bb322555afb4fb135abc48fbb3383b7216557995.tar.gz bcm5719-llvm-bb322555afb4fb135abc48fbb3383b7216557995.zip |
For Linux/gnu compatibility, preinclude <stdc-predef.h> if the file is available
As reported in llvm bugzilla 32377.
Here’s a patch to add preinclude of stdc-predef.h.
The gcc documentation says “On GNU/Linux, <stdc-predef.h> is pre-included.” See https://gcc.gnu.org/gcc-4.8/porting_to.html;
The preinclude is inhibited with –ffreestanding.
Basically I fixed the failing test cases by adding –ffreestanding which inhibits this behavior.
I fixed all the failing tests, including some in extra/test, there's a separate patch for that which is linked here
Note: this is a recommit after a test failure took down the original (r318669)
Patch By: mibintc
Differential Revision: https://reviews.llvm.org/D34158
llvm-svn: 320391
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index 2ebdc2a62aa..60802da921b 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -2611,6 +2611,10 @@ 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(';'); |