On Thu, Mar 26, 2015 at 1:12 PM, Richard Smith <rich...@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. > > Perhaps the simplest thing to do would be to add the name of the current > class to Names before performing the lexical walk of the class, if it's in > the list of constructor names. That would also let you avoid the lexical > walk entirely if the only constructor or conversion name is for the class's > own constructor(s) (that is, if the class has no inheriting constructors or > conversion functions, but does have constructors, which is likely to be a > very common case). >
_______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits