<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 29, 2016, at 10:06 PM, David Blaikie <<a href="mailto:dblaikie@gmail.com" class="">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><br class="Apple-interchange-newline"><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">On Tue, Mar 29, 2016 at 12:03 PM, Adrian Prantl via cfe-commits<span class="Apple-converted-space"> </span><span dir="ltr" class=""><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank" class="">cfe-commits@lists.llvm.org</a>></span><span class="Apple-converted-space"> </span>wrote:<br class=""><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><span class=""><br class="">> On Mar 29, 2016, at 12:00 PM, Joerg Sonnenberger <<a href="mailto:joerg@britannica.bec.de" class="">joerg@britannica.bec.de</a>> wrote:<br class="">><br class="">> On Tue, Mar 29, 2016 at 06:47:24PM +0000, Adrian Prantl via cfe-commits wrote:<br class="">>> This code in this patch listens to the driver option -gfull, and lowers it to the new cc1 option -debug-retain-types (1).<br class="">>> When -debug-retain-types is present, CGDebugInfo will retain every(2) type it creates.<br class="">><br class="">> Is there a good reason for calling it -gfull? I would find something<br class="">> -gall-types or -gretain-all-types to make a lot more sense. This should<br class="">> be orthogonal to other options like providing only line tables?<br class=""><br class=""></span>My thinking was this:<br class="">The driver already supports -gfull, but it doesn’t do anything.<br class="">This patch can be considered a first step towards making -gfull behave as expected.<br class="">Eventually it should emit debug info for *all* types.<br class=""></blockquote><div class=""><br class=""></div><div class="">Seems somewhat problematic to half implement it, though. (admittedly we're just silently ignoring it right now)<br class=""></div></div></div></blockquote><div><br class=""></div><div>I don’t think this is problematic at all. This is incremental development.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class=""><br class="">& is 'real' -gfull what dtrace really wants? (seems it isn't - since clang's never really implemented it?)<br class=""></div></div></div></blockquote><div><br class=""></div><div>Admitted, ‘real' -gfull is probably more than it absolutely needs.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="">Emitting all types referenced by used (even if later optimized away) code seems like the thing? -greferenced? or maybe a -f flag? Not sure.</div></div></div></blockquote><div><br class=""></div><div>I don’t see a compelling case for adding another driver option to the already confusing zoo of existing driver options. Note that we currently also accept a -gused option which according to the driver code is supposed to be the opposite of -gfull. Adding a -greferenced option IMO will only make this more confusion instead of helping.</div><div>My suggestion is to have -gfull (also) activate -debug-retain-types. In the somewhat hypothetical scenario that someone implements a more comprehensive version of -gfull we should revisit this and analyze whether the resulting debug information is really too large to be practical, and if we conclude that this is a problem, we can still decide to expose -debug-retain-types to the driver with a new separate option.</div><div><br class=""></div><div>-- adrian</div><br class=""><blockquote type="cite" class=""><div class=""><div class="gmail_quote" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class=""> </div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><span class=""><br class="">> Joerg<br class="">><br class="">> PS: Slightly related side question, do we have any tools for extracting<br class="">> a given list of types for retaining? Either by name or global variable<br class="">> expression.<br class=""><br class=""></span>Extract them from where? Can you give an example?<br class=""><span class="HOEnZb"><font color="#888888" class=""><br class="">-- adrian<br class=""></font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br class="">cfe-commits mailing list<br class=""><a href="mailto:cfe-commits@lists.llvm.org" class="">cfe-commits@lists.llvm.org</a><br class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a></div></div></blockquote></div></div></blockquote></div><br class=""></body></html>