diff options
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 a0b8bbf..3945129 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -3373,6 +3373,8 @@ static void GenerateHeaderSearchArgs(const HeaderSearchOptions &Opts, : OPT_internal_externc_isystem; GenerateArg(Consumer, Opt, It->Path); } + for (; It < End && Matches(*It, {frontend::System}, true, true); ++It) + GenerateArg(Consumer, OPT_internal_iframework, It->Path); assert(It == End && "Unhandled HeaderSearchOption::Entry."); @@ -3505,6 +3507,8 @@ static bool ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args, Group = frontend::ExternCSystem; Opts.AddPath(A->getValue(), Group, false, true); } + for (const auto *A : Args.filtered(OPT_internal_iframework)) + Opts.AddPath(A->getValue(), frontend::System, true, true); // Add the path prefixes which are implicitly treated as being system headers. for (const auto *A : |