diff options
author | Daniel Dunbar <daniel@zuster.org> | 2013-01-30 00:19:24 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2013-01-30 00:19:24 +0000 |
commit | ef84554239d77cc52a14b42f2bff8c2d02e7630e (patch) | |
tree | 3ac01de517c6bccbe3b5dbab215bcdae76e0c021 /lib/Frontend/CompilerInvocation.cpp | |
parent | 4b1a0e4ab6648894c63bffe8564a669c1df3d683 (diff) | |
download | clang-ef84554239d77cc52a14b42f2bff8c2d02e7630e.tar.gz |
[Frontend] Add an ExternCSystem include entry group.
- The only group where it makes sense for the "ExternC" bit is System, so this
simplifies having to have the extra isCXXAware (or ImplicitExternC, depending
on what code you talk to) bit caried around.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173859 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | lib/Frontend/CompilerInvocation.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index b6a83b24d8..49f89d4c79 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -885,10 +885,13 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args) { for (arg_iterator I = Args.filtered_begin(OPT_internal_isystem, OPT_internal_externc_isystem), E = Args.filtered_end(); - I != E; ++I) - Opts.AddPath((*I)->getValue(), frontend::System, - false, /*IgnoreSysRoot=*/true, /*IsInternal=*/true, - (*I)->getOption().matches(OPT_internal_externc_isystem)); + I != E; ++I) { + frontend::IncludeDirGroup Group = frontend::System; + if ((*I)->getOption().matches(OPT_internal_externc_isystem)) + Group = frontend::ExternCSystem; + Opts.AddPath((*I)->getValue(), Group, false, /*IgnoreSysRoot=*/true, + /*IsInternal=*/true); + } // Add the path prefixes which are implicitly treated as being system headers. for (arg_iterator I = Args.filtered_begin(OPT_isystem_prefix, |