r233249 - [Modules] A second attempt at writing out on-disk hash tables for the

Chandler Carruth chandlerc at gmail.com
Thu Mar 26 15:27:14 PDT 2015


On Thu, Mar 26, 2015 at 1:39 PM, Chandler Carruth <chandlerc at gmail.com>
wrote:

> On Thu, Mar 26, 2015 at 1:12 PM, Richard Smith <richard at metafoo.co.uk>
> wrote:
>
>> So, the problem seems to be that the class has implicit special members
>> that are not in the list of lexical declarations of the class but are in
>> the visible lookup results. In order for this to happen, you might need to
>> have two definitions of a class that get merged together, where the
>> implicit special members are only present in the definition that we demoted
>> to a declaration.
>>
>
> Wouldn't that be a bug?
>
> It certainly looks like a bug -- the lookup table has named decl in it for
> the constructor name that is a wild pointer.
>

Just to relay on the mailing list, I chatted with Richard and he explained
that these decls are in some other lexical context on the redecl chain, and
thus correct to find via name lookup but incorrect to merge into this
lexical context.

I've implemented the fix of special casing the current context's implicit
constructor name (should it exist) since those can come from other contexts
in the redecl chain and those are the only constructor or conversion
function names which can come from other contexts in the redecl chain due
to the ODR.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150326/8b39690c/attachment.html>


More information about the cfe-commits mailing list