================
@@ -4260,6 +4260,13 @@ defm strict_dwarf : BoolOption<"g", "strict-dwarf",
           "the specified version, avoiding features from later versions.">,
   NegFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>,
   Group<g_flags_Group>;
+defm omit_unreferenced_members : BoolOption<"g", "omit-unreferenced-members",
+  CodeGenOpts<"DebugOmitUnreferencedMembers">, DefaultFalse,
+  PosFlag<SetTrue, [], [ClangOption, CC1Option],
+       "Omit member function declarations from type descriptions if the "
+       "member is unreferenced.">,
+  NegFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>,
+  Group<g_flags_Group>;
----------------
dwblaikie wrote:

Wasn't able to get this to avoid the `renderDebugOptions` code - even other 
uses of marshalling (and it looks like BoolOption, and even BoolGOption, have 
some marshalling details in their implementation - so maybe they're getting the 
same functionality as MarshallingInfoFlag already?) seem to still have to 
handle/repeat the flag from the driver to the frontend.

Oh, and now that I'm checking compatible flags in the driver (disabling this 
feature if -fstandalone-debug or -fdebug-types-section are enabled) then 
there's probably no avoiding having some code there anyway.

Switching to BoolGOption does make it a bit tidier, though.

https://github.com/llvm/llvm-project/pull/87018
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to