r216472 - Convert MC command line flag for fatal assembler warnings into a proper

Rafael Avila de Espindola rafael.espindola at gmail.com
Tue Aug 26 15:49:44 PDT 2014


Thanks!

Sent from my iPhone

> On Aug 26, 2014, at 14:40, Joerg Sonnenberger <joerg at bec.de> wrote:
> 
> Author: joerg
> Date: Tue Aug 26 13:40:25 2014
> New Revision: 216472
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=216472&view=rev
> Log:
> Convert MC command line flag for fatal assembler warnings into a proper
> flag.
> 
> Added:
>    cfe/trunk/test/Driver/fatal-warnings.c
> Modified:
>    cfe/trunk/include/clang/Driver/CC1Options.td
>    cfe/trunk/include/clang/Frontend/CodeGenOptions.def
>    cfe/trunk/lib/CodeGen/BackendUtil.cpp
>    cfe/trunk/lib/Driver/Tools.cpp
>    cfe/trunk/lib/Frontend/CompilerInvocation.cpp
>    cfe/trunk/tools/driver/cc1as_main.cpp
> 
> Modified: cfe/trunk/include/clang/Driver/CC1Options.td
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/CC1Options.td?rev=216472&r1=216471&r2=216472&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Driver/CC1Options.td (original)
> +++ cfe/trunk/include/clang/Driver/CC1Options.td Tue Aug 26 13:40:25 2014
> @@ -135,6 +135,8 @@ def dwarf_debug_flags : Separate<["-"],
>   HelpText<"The string to embed in the Dwarf debug flags record.">;
> def mno_exec_stack : Flag<["-"], "mnoexecstack">,
>   HelpText<"Mark the file as not needing an executable stack">;
> +def massembler_fatal_warnings : Flag<["-"], "massembler-fatal-warnings">,
> +  HelpText<"Make assembler warnings fatal">;
> def compress_debug_sections : Flag<["-"], "compress-debug-sections">,
>     HelpText<"Compress DWARF debug sections using zlib">;
> def msave_temp_labels : Flag<["-"], "msave-temp-labels">,
> 
> Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.def
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.def?rev=216472&r1=216471&r2=216472&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Frontend/CodeGenOptions.def (original)
> +++ cfe/trunk/include/clang/Frontend/CodeGenOptions.def Tue Aug 26 13:40:25 2014
> @@ -71,6 +71,8 @@ CODEGENOPT(NoCommon          , 1, 0) ///
> CODEGENOPT(NoDwarfDirectoryAsm , 1, 0) ///< Set when -fno-dwarf-directory-asm is
>                                        ///< enabled.
> CODEGENOPT(NoExecStack       , 1, 0) ///< Set when -Wa,--noexecstack is enabled.
> +CODEGENOPT(FatalWarnings     , 1, 0) ///< Set when -Wa,--fatal-warnings is
> +                                     ///< enabled.
> CODEGENOPT(EnableSegmentedStacks , 1, 0) ///< Set when -fsplit-stack is enabled.
> CODEGENOPT(NoGlobalMerge     , 1, 0) ///< Set when -mno-global-merge is enabled.
> CODEGENOPT(NoImplicitFloat   , 1, 0) ///< Set when -mno-implicit-float is enabled.
> 
> Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/BackendUtil.cpp?rev=216472&r1=216471&r2=216472&view=diff
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/BackendUtil.cpp (original)
> +++ cfe/trunk/lib/CodeGen/BackendUtil.cpp Tue Aug 26 13:40:25 2014
> @@ -483,6 +483,7 @@ TargetMachine *EmitAssemblyHelper::Creat
>   Options.MCOptions.MCSaveTempLabels = CodeGenOpts.SaveTempLabels;
>   Options.MCOptions.MCUseDwarfDirectory = !CodeGenOpts.NoDwarfDirectoryAsm;
>   Options.MCOptions.MCNoExecStack = CodeGenOpts.NoExecStack;
> +  Options.MCOptions.MCFatalWarnings = CodeGenOpts.FatalWarnings;
>   Options.MCOptions.AsmVerbose = CodeGenOpts.AsmVerbose;
> 
>   TargetMachine *TM = TheTarget->createTargetMachine(Triple, TargetOpts.CPU,
> 
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=216472&r1=216471&r2=216472&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Tue Aug 26 13:40:25 2014
> @@ -2043,8 +2043,7 @@ static void CollectArgsForIntegratedAsse
>         } else if (Value == "-L") {
>           CmdArgs.push_back("-msave-temp-labels");
>         } else if (Value == "--fatal-warnings") {
> -          CmdArgs.push_back("-mllvm");
> -          CmdArgs.push_back("-fatal-assembler-warnings");
> +          CmdArgs.push_back("-massembler-fatal-warnings");
>         } else if (Value == "--noexecstack") {
>           CmdArgs.push_back("-mnoexecstack");
>         } else if (Value == "-compress-debug-sections" ||
> 
> Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=216472&r1=216471&r2=216472&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
> +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Tue Aug 26 13:40:25 2014
> @@ -425,6 +425,7 @@ static bool ParseCodeGenArgs(CodeGenOpti
>   Opts.NumRegisterParameters = getLastArgIntValue(Args, OPT_mregparm, 0, Diags);
>   Opts.NoGlobalMerge = Args.hasArg(OPT_mno_global_merge);
>   Opts.NoExecStack = Args.hasArg(OPT_mno_exec_stack);
> +  Opts.FatalWarnings = Args.hasArg(OPT_massembler_fatal_warnings);
>   Opts.EnableSegmentedStacks = Args.hasArg(OPT_split_stacks);
>   Opts.RelaxAll = Args.hasArg(OPT_mrelax_all);
>   Opts.OmitLeafFramePointer = Args.hasArg(OPT_momit_leaf_frame_pointer);
> 
> Added: cfe/trunk/test/Driver/fatal-warnings.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fatal-warnings.c?rev=216472&view=auto
> ==============================================================================
> --- cfe/trunk/test/Driver/fatal-warnings.c (added)
> +++ cfe/trunk/test/Driver/fatal-warnings.c Tue Aug 26 13:40:25 2014
> @@ -0,0 +1,8 @@
> +// RUN: %clang -### %s -c -o tmp.o -target i686-pc-linux-gnu -integrated-as -Wa,--fatal-warnings 2>&1 | FileCheck %s
> +// RUN: not %clang %s -c -o %t.o -target i686-pc-linux-gnu -integrated-as -Wa,--fatal-warnings 2>&1 %t.log
> +// FileCheck --check-prefix=CHECK-AS %s -input-file %t.log
> +
> +// CHECK: "-cc1" {{.*}} "-massembler-fatal-warnings"
> +// CHECK-AS: error: .warning argument must be a string
> +
> +__asm(".warning 1");
> 
> Modified: cfe/trunk/tools/driver/cc1as_main.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/driver/cc1as_main.cpp?rev=216472&r1=216471&r2=216472&view=diff
> ==============================================================================
> --- cfe/trunk/tools/driver/cc1as_main.cpp (original)
> +++ cfe/trunk/tools/driver/cc1as_main.cpp Tue Aug 26 13:40:25 2014
> @@ -123,6 +123,7 @@ struct AssemblerInvocation {
> 
>   unsigned RelaxAll : 1;
>   unsigned NoExecStack : 1;
> +  unsigned FatalWarnings : 1;
> 
>   /// @}
> 
> @@ -138,6 +139,7 @@ public:
>     ShowEncoding = 0;
>     RelaxAll = 0;
>     NoExecStack = 0;
> +    FatalWarnings = 0;
>     DwarfVersion = 3;
>   }
> 
> @@ -246,7 +248,8 @@ bool AssemblerInvocation::CreateFromArgs
> 
>   // Assemble Options
>   Opts.RelaxAll = Args->hasArg(OPT_mrelax_all);
> -  Opts.NoExecStack =  Args->hasArg(OPT_mno_exec_stack);
> +  Opts.NoExecStack = Args->hasArg(OPT_mno_exec_stack);
> +  Opts.FatalWarnings =  Args->hasArg(OPT_massembler_fatal_warnings);
> 
>   return Success;
> }
> 
> 
> _______________________________________________
> 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