From: Chris Lattner Date: Tue, 24 Aug 2010 21:09:16 +0000 (+0000) Subject: Implement -iwithsysroot, an apple extension which is a close cousin of -isystem. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9db9ad3f084d3c70cff01a10d4fd90901982b37b;p=clang Implement -iwithsysroot, an apple extension which is a close cousin of -isystem. Instead of implementing -isystem, I accidentally implemented this cousin. Next up is to implement -isystem right. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111966 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/CC1Options.td b/include/clang/Driver/CC1Options.td index fabb29b622..9a22c21dc1 100644 --- a/include/clang/Driver/CC1Options.td +++ b/include/clang/Driver/CC1Options.td @@ -502,6 +502,9 @@ def iquote : JoinedOrSeparate<"-iquote">, MetaVarName<"">, HelpText<"Add directory to QUOTE include search path">; def isystem : JoinedOrSeparate<"-isystem">, MetaVarName<"">, HelpText<"Add directory to SYSTEM include search path">; +def iwithsysroot : JoinedOrSeparate<"-iwithsysroot">,MetaVarName<"">, + HelpText<"Add directory to SYSTEM include search path, " + "absolute paths are relative to -isysroot">; def iprefix : JoinedOrSeparate<"-iprefix">, MetaVarName<"">, HelpText<"Set the -iwithprefix/-iwithprefixbefore prefix">; def iwithprefix : JoinedOrSeparate<"-iwithprefix">, MetaVarName<"">, diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index 45bea9c186..54944ebf7b 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -423,7 +423,7 @@ def isysroot : JoinedOrSeparate<"-isysroot">, Group; def isystem : JoinedOrSeparate<"-isystem">, Group; def iwithprefixbefore : JoinedOrSeparate<"-iwithprefixbefore">, Group; def iwithprefix : JoinedOrSeparate<"-iwithprefix">, Group; -def iwithsysroot : JoinedOrSeparate<"-iwithsysroot">, Group; +def iwithsysroot : JoinedOrSeparate<"-iwithsysroot">, Group; def i : Joined<"-i">, Group; def keep__private__externs : Flag<"-keep_private_externs">; def l : JoinedOrSeparate<"-l">, Flags<[LinkerInput, RenderJoined]>; diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index 7622eb7906..f0a9bf457f 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -1173,7 +1173,7 @@ static void ParseHeaderSearchArgs(HeaderSearchOptions &Opts, ArgList &Args) { for (arg_iterator it = Args.filtered_begin(OPT_iquote), ie = Args.filtered_end(); it != ie; ++it) Opts.AddPath((*it)->getValue(Args), frontend::Quoted, true, false); - for (arg_iterator it = Args.filtered_begin(OPT_isystem), + for (arg_iterator it = Args.filtered_begin(OPT_isystem, OPT_iwithsysroot), ie = Args.filtered_end(); it != ie; ++it) Opts.AddPath((*it)->getValue(Args), frontend::System, true, false);