r278139 - [clang-cl] Make -gline-tables-only imply -gcodeview

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 10 09:44:06 PDT 2016


Sure, r278240.

On Wed, Aug 10, 2016 at 3:55 AM, Nico Weber <thakis at chromium.org> wrote:
> Since this flag is new in 3.9, should we merge this there?
>
> On Tue, Aug 9, 2016 at 1:23 PM, Reid Kleckner via cfe-commits
> <cfe-commits at lists.llvm.org> wrote:
>>
>> Author: rnk
>> Date: Tue Aug  9 12:23:56 2016
>> New Revision: 278139
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=278139&view=rev
>> Log:
>> [clang-cl] Make -gline-tables-only imply -gcodeview
>>
>> It's surprising that you have to pass /Z7 in addition to -gcodeview to
>> get debug info. The sanitizer runtime, for example, expects that if the
>> compiler supports the -gline-tables-only flag, then it will emit debug
>> info.
>>
>> Modified:
>>     cfe/trunk/lib/Driver/Tools.cpp
>>     cfe/trunk/test/Driver/cl-options.c
>>
>> Modified: cfe/trunk/lib/Driver/Tools.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=278139&r1=278138&r2=278139&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/lib/Driver/Tools.cpp (original)
>> +++ cfe/trunk/lib/Driver/Tools.cpp Tue Aug  9 12:23:56 2016
>> @@ -4611,8 +4611,8 @@ void Clang::ConstructJob(Compilation &C,
>>                                 options::OPT_gdwarf_4,
>> options::OPT_gdwarf_5))
>>      DwarfVersion = DwarfVersionNum(A->getSpelling());
>>
>> -  // Forward -gcodeview.
>> -  // 'EmitCodeView might have been set by CL-compatibility argument
>> parsing.
>> +  // Forward -gcodeview. EmitCodeView might have been set by
>> CL-compatibility
>> +  // argument parsing.
>>    if (Args.hasArg(options::OPT_gcodeview) || EmitCodeView) {
>>      // DwarfVersion remains at 0 if no explicit choice was made.
>>      CmdArgs.push_back("-gcodeview");
>> @@ -6402,9 +6402,10 @@ void Clang::AddClangCLArgs(const ArgList
>>      CmdArgs.push_back(Args.MakeArgString(Twine(LangOptions::SSPStrong)));
>>    }
>>
>> -  // Emit CodeView if -Z7 or -Zd are present.
>> +  // Emit CodeView if -Z7, -Zd, or -gline-tables-only are present.
>>    if (Arg *DebugInfoArg =
>> -          Args.getLastArg(options::OPT__SLASH_Z7,
>> options::OPT__SLASH_Zd)) {
>> +          Args.getLastArg(options::OPT__SLASH_Z7, options::OPT__SLASH_Zd,
>> +                          options::OPT_gline_tables_only)) {
>>      *EmitCodeView = true;
>>      if (DebugInfoArg->getOption().matches(options::OPT__SLASH_Z7))
>>        *DebugInfoKind = codegenoptions::LimitedDebugInfo;
>>
>> Modified: cfe/trunk/test/Driver/cl-options.c
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/cl-options.c?rev=278139&r1=278138&r2=278139&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/test/Driver/cl-options.c (original)
>> +++ cfe/trunk/test/Driver/cl-options.c Tue Aug  9 12:23:56 2016
>> @@ -424,6 +424,10 @@
>>  // Z7GMLT: "-gcodeview"
>>  // Z7GMLT: "-debug-info-kind=line-tables-only"
>>
>> +// RUN: %clang_cl -gline-tables-only /c -### -- %s 2>&1 | FileCheck
>> -check-prefix=ZGMLT %s
>> +// ZGMLT: "-gcodeview"
>> +// ZGMLT: "-debug-info-kind=line-tables-only"
>> +
>>  // RUN: %clang_cl /c -### -- %s 2>&1 | FileCheck
>> -check-prefix=BreproDefault %s
>>  // BreproDefault: "-mincremental-linker-compatible"
>>
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
>


More information about the cfe-commits mailing list