On 11/30/2011 06:41 PM, Paolo Carlini wrote:
Ok. The point is, locate_ctor turns an error_mark_node returned by locate_fn_flags - meaning indeed not callable - into NULL_TREE. In fact, uses elsewhere of locate_ctor / get_default_ctor always check for it.
Ah, I see. I guess what we want here is the GCC 4.5 version of locate_ctor instead of the new one; once we've checked that we have a default ctor and no user-provided default ctor, there must be a unique defaulted ctor so just walking CLASSTYPE_CONSTRUCTORS is correct. And then we can call maybe_explain_implicit_delete if it's deleted.
Jason