<div dir="ltr">On 20 June 2013 22:17, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><span style="color:rgb(34,34,34)">I've talked to Richard Smith about a more</span><br></div></div>
principled approach where we could add a new ASTConsumer callback that<br>
fires whenever Sema discovers that a complete type is required<br>
(Sema::RequireCompleteType is called for the first time on a type).<br></blockquote><div><br></div><div style>I know it sounds wrong, but couldn't you add the info on all declaration and let DCE remove it if not needed?</div>
<div style><br></div><div style>Ie. I'm actually surprised that it doesn't... Does it?</div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
So next time we go<br>
to retrieve it, even if this time we say we need a definition, we<br>
retrieve the cached typedef type and use that - never pushing further<br>
into it to emit the definition of the nested type.<br></blockquote><div></div></div><br></div><div class="gmail_extra" style>Oh, I remember vaguely having a similar bug on our front end, because you don't want to create a declaration for both types if they're related and end up with different metadata for each path. I don't remember how I solved it, but it was definitely the wrong way, because Dwarf was, by far, the worst part of our bridge. ;)</div>
<div class="gmail_extra" style><br></div><div class="gmail_extra" style>cheers,</div><div class="gmail_extra" style>--renato</div></div>