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 | 9f2374565e3d4dacb00af85ec4b16ebc05dfb4a7 (patch) | |
tree | 47829254b03a1524355704ad767c908195cdc8a1 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 1b3815cbf483fa1cc5c5b6d7b567722b3c802bf6 (diff) | |
download | bcm5719-llvm-9f2374565e3d4dacb00af85ec4b16ebc05dfb4a7.tar.gz bcm5719-llvm-9f2374565e3d4dacb00af85ec4b16ebc05dfb4a7.zip |
[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.
llvm-svn: 173859
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index b6a83b24d85..49f89d4c79e 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/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, |