<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 14, 2015 at 12:13 PM, Adrian Prantl <span dir="ltr"><<a href="mailto:aprantl@apple.com" target="_blank">aprantl@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Eric & David,<br>
<br>
this patch implements bare-bones LVM support for external type references as previously discussed in <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_D9612&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=bIYk6FbqZuqB66vSyrrfHVlkZznHiulkcbvpC5S_jic&s=U9ELZK5SjIkZ4P-o62MNmgK8Iad4WHIJveogoEuNYwA&e=" rel="noreferrer" target="_blank">http://reviews.llvm.org/D9612</a>.<br>
This is a necessary prerequisite for bootstrapping the emission of debug info inside modules.<br>
<br>
- Add a FlagExternalTypeRef to DICompositeType. External types must have a unique identifier.<br>
- External type references are emitted in the short form DW_AT_type([DW_FORM_ref_sig8]) but the long form with an indirect reference is also supported (see test case for examples).<br></blockquote><div><br>Knee-jerk reaction (haven't looked at the patch yet): Long form will be necessary for all the implicit things (you won't know which implicit things go in the module debug info, because you can't instantiate them ahead of time - well, maybe you can in a SFINAE trap... - but then there's still member function template implicit specializations and nested classes). It might be best to implement the general form first, then look at an optimization for the "has no children" case separately (& in a way that applies to normal type unit references too)<br><br>What happens for that today? (I see you have a nested imported declaration that's forcing the emission of the type declaration, I take it? What happens if the type is also referenced separately - does it get a sig8 there too, or does it use the 4 byte section offset to refer to the type declaration which has the sole sig8?)<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
thanks,<br>
-- adrian<br>
<br>
</blockquote></div><br></div></div>