On Wed, Aug 28, 2013 at 1:32 PM, Eric Christopher <[email protected]> wrote:
>>> That's... tricky. Could you add this in a comment?
>>
>> It's partially commented already ("Reuse the existing member function
>> declaration if it exists" - I could clarify how it could already
>> exist). Added some other comments in r189504.
>>
>
> Thanks. Otherwise I could easily see us hoisting the check outside of
> the loop one day. I.e. comments as to why this has to be _right there_
> are useful :)

Hopefully r189516 covers that.

>>> Also trying to figure out how we're emitting the implicit member without 
>>> emitting the
>>> rest of the type.
>>
>> Vtables man, vtables.
>>
>> If we have a dynamic type, say, with a key function - then we try not
>> to emit the debug info definition of the type in any TU except the one
>> that emits the vtable. But if that type has implicit members (implicit
>> 5 (default ctor, copy ctor, move ctor, copy assign, move assign,
>> dtor)) we can't be guaranteed they'll be used/declared/defined in the
>> TU that defines the vtable - so we attach those members to the
>> declaration. GCC does the same thing. Yeah, it's weird.
>>
>
> Gah.

Yup.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to