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