cmtice added a comment.

Hmmm...I'm having upload issues.



================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3250
   // -gline-directives-only supported only for the DWARF debug info.
   if (DWARFVersion == 0 && DebugInfoKind == 
codegenoptions::DebugDirectivesOnly)
     DebugInfoKind = codegenoptions::NoDebugInfo;
----------------
dblaikie wrote:
> probinson wrote:
> > After setting DWARFVersion above, when nothing was requested, this looks 
> > peculiar.  Is `DWARFVersion == 0` a proxy for `-gcodeview` ?
> Yep, DWARFVersion shouldn't be set when none was requested - see discussion 
> above between myself & @cmtice - that should leave this code fine/correct.
DWARFVersion is (will be) only set when the debug info kind is DWARF, i.e. when 
EmitDwarf is True. I apologize for the confusion -- David Blaikie and I has 
some misunderstandings about the original implementation intent.  DWARFVersion 
== 0 ought only to result in codeview being generated/used if the user 
specified -g and codeview is the default debug format for the platform.


================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:6174
+    DwarfVersion = ParseDebugDefaultVersion(getToolChain(), Args);
+
   if (DwarfVersion == 0)
----------------
dblaikie wrote:
> probinson wrote:
> > I have to say, this sequence is a whole lot easier to follow than what's up 
> > in RenderDebugOptions.  It would be nice if they were both so easy to 
> > understand.
> > 
> > Although it makes me wonder, does `-fdebug-default-version` go unclaimed 
> > here if there's a `-gdwarf-2` on the command line?
> Once the "else if (DefaultDWARFVersion != 0)" clause is removed, and the 
> ParseDebugDefaultVersion call is sunk down into the "if (EmitDwarf)" case - 
> hopefully that'll simplify the RenderDebugOptions code enough to be 
> reasonable?
> 
> I think the complication there is that "-g" can imply CodeView if nothing 
> explicitly requests DWARF & the target is windows, whereas there's no support 
> for that kind of CV fallback here? So some of that might be inherent.
> 
> & agreed - worth testing that -fdebug-default-version doesn't get a -Wunused 
> warning if someone says "-fdebug-default-version 4 -gdwarf-2". @cmtice is 
> that tested? You might be able to add -Werror to the existing test case's RUN 
> lines to demonstrate that no such warnings are produced?
The thought is that if the user actually chose a specific dwarf version, e.g. 
-gdwarf-2, then that value should override the general default, specified with 
-fdebug-default-version (soon to be 
-fdwarf-default-version).


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D69822/new/

https://reviews.llvm.org/D69822



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to