[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