dblaikie added inline comments.
================ Comment at: clang/include/clang/Driver/Options.td:2145-2146 HelpText<"Generate source-level debug information with dwarf version 5">; +def gdwarf64 : Flag<["-"], "gdwarf64">, Group<g_Group>, Flags<[CC1Option]>, + HelpText<"Generate DWARF64 debug information.">; ---------------- ayermolo wrote: > dblaikie wrote: > > Does this actually enable debug info emission (the -gdwarf-N versions do > > cause debug info to be emitted, and set the dwarf version - but, say > > -ggnu-pubnames does not cause debug info to be emitted if it isn't > > otherwise requested). Experience has shown it's probably better to have > > flags like this not enable debug info emission - so they can be used > > orthogonally (eg: if a project is large, it can add -gdwarf64 to its flags > > permanently, even though maybe only some build modes, etc, enable debug > > info (with -g)) > > > > If this doesn't enable debug info emission, the phrasing of the help text > > might be worth changing somewhat (I wonder how we document -ggnu-pubnames, > > for instance/comparison/inspiration) > This enables DWARF64 if emission is enabled. > > From DebugInfo it seems like it's only Elf Format: > > bool Dwarf64 = Asm->TM.Options.MCOptions.Dwarf64 && > DwarfVersion >= 3 && // DWARF64 was introduced in DWARFv3. > TT.isArch64Bit() && // DWARF64 requires 64-bit > relocations. > TT.isOSBinFormatELF(); // Support only ELF for now. > This enables DWARF64 if emission is enabled. Then perhaps the Help Text phrasing should distinguish this behavior from the behavior of -gdwarf-N which not only sets the version, but enables emission. (perhaps the phrasing of flags that don't enable emission, like "-ggnu-pubnames" could provide inspiration for phrasing the help text for this new flag) > From DebugInfo it seems like it's only Elf Format: I'm curious as to why it's ELF only, though - could you explain what the motivation is there? (random aside: I still worry about this precedent for -g* flags that sometimes enable debug info and set a feature, and sometimes they only set the feature and don't enable debug info - it's a bit of a confusing mess and I personally rather the -fdebug* flags set a feature but don't enable emission and -g* flags enable emission, but there's a lack of clear agreement and there's examples on both sides, so not sure there's much to be done about that here) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90507/new/ https://reviews.llvm.org/D90507 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits