[cfe-commits] r153478 - /cfe/trunk/lib/Driver/Tools.cpp
David Blaikie
dblaikie at gmail.com
Mon Mar 26 15:25:54 PDT 2012
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