[cfe-commits] r153478 - /cfe/trunk/lib/Driver/Tools.cpp
Chad Rosier
michael_rosier at apple.com
Mon Mar 26 15:44:33 PDT 2012
Thanks for keeping me honest, David. Committed revision 153481.
Chad
On Mar 26, 2012, at 3:25 PM, David Blaikie wrote:
> On Mon, Mar 26, 2012 at 3:04 PM, Chad Rosier <mcrosier at apple.com> wrote:
>> Author: mcrosier
>> Date: Mon Mar 26 17:04:46 2012
>> New Revision: 153478
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=153478&view=rev
>> Log:
>> [driver] Fix unused argument warnings.
>>
>> 1. Don't short-circuit conditional statements that are checking flags.
>> Otherwise, the driver emits warnings about unused arguments.
>>
>> 2. -mkernel and -fapple-kext imply no exceptions, so claim exception related
>> arguments now to avoid warnings about unused arguments.
>
> Test cases?
>
>>
>> rdar://11120518
>>
>> Modified:
>> cfe/trunk/lib/Driver/Tools.cpp
>>
>> Modified: cfe/trunk/lib/Driver/Tools.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=153478&r1=153477&r2=153478&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Driver/Tools.cpp (original)
>> +++ cfe/trunk/lib/Driver/Tools.cpp Mon Mar 26 17:04:46 2012
>> @@ -1081,8 +1081,17 @@
>> bool KernelOrKext, bool IsRewriter,
>> unsigned objcABIVersion,
>> ArgStringList &CmdArgs) {
>> - if (KernelOrKext)
>> + if (KernelOrKext) {
>> + // -mkernel and -fapple-kext imply no exceptions, so claim exception related
>> + // arguments now to avoid warnings about unused arguments.
>> + Args.ClaimAllArgs(options::OPT_fexceptions);
>> + Args.ClaimAllArgs(options::OPT_fno_exceptions);
>> + Args.ClaimAllArgs(options::OPT_fobjc_exceptions);
>> + Args.ClaimAllArgs(options::OPT_fno_objc_exceptions);
>> + Args.ClaimAllArgs(options::OPT_fcxx_exceptions);
>> + Args.ClaimAllArgs(options::OPT_fno_cxx_exceptions);
>> return;
>> + }
>>
>> // Exceptions are enabled by default.
>> bool ExceptionsEnabled = true;
>> @@ -1965,9 +1974,8 @@
>> Args.AddLastArg(CmdArgs, options::OPT_fvisibility_inlines_hidden);
>>
>> // -fhosted is default.
>> - if (KernelOrKext || Args.hasFlag(options::OPT_ffreestanding,
>> - options::OPT_fhosted,
>> - false))
>> + if (Args.hasFlag(options::OPT_ffreestanding, options::OPT_fhosted, false) ||
>> + KernelOrKext)
>> CmdArgs.push_back("-ffreestanding");
>>
>> // Forward -f (flag) options which we can pass directly.
>> @@ -2123,8 +2131,8 @@
>> CmdArgs.push_back("-fno-elide-constructors");
>>
>> // -frtti is default.
>> - if (KernelOrKext ||
>> - !Args.hasFlag(options::OPT_frtti, options::OPT_fno_rtti))
>> + if (!Args.hasFlag(options::OPT_frtti, options::OPT_fno_rtti) ||
>> + KernelOrKext)
>> CmdArgs.push_back("-fno-rtti");
>>
>> // -fshort-enums=0 is default for all architectures except Hexagon.
>> @@ -2145,12 +2153,12 @@
>> CmdArgs.push_back("-fno-threadsafe-statics");
>>
>> // -fuse-cxa-atexit is default.
>> - if (KernelOrKext ||
>> - !Args.hasFlag(options::OPT_fuse_cxa_atexit, options::OPT_fno_use_cxa_atexit,
>> - getToolChain().getTriple().getOS() != llvm::Triple::Cygwin &&
>> + if (!Args.hasFlag(options::OPT_fuse_cxa_atexit,
>> + options::OPT_fno_use_cxa_atexit,
>> + getToolChain().getTriple().getOS() != llvm::Triple::Cygwin &&
>> getToolChain().getTriple().getOS() != llvm::Triple::MinGW32 &&
>> - getToolChain().getTriple().getArch() !=
>> - llvm::Triple::hexagon))
>> + getToolChain().getTriple().getArch() != llvm::Triple::hexagon) ||
>> + KernelOrKext)
>> CmdArgs.push_back("-fno-use-cxa-atexit");
>>
>> // -fms-extensions=0 is default.
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list