On 10/14/2011 08:23 PM, Paolo Carlini wrote:
Hi,

submitter complains that, at variance with C++11, __is_base_of doesn't handle an incomplete base type (the first parameter). The reason seems simple: in finish_trait_expr we try to complete *both* types instead of doing it where/when necessary.
Hmm, maybe we should be even more careful and call complete (type2) only when

NON_UNION_CLASS_TYPE_P (type1) && NON_UNION_CLASS_TYPE_P (type2) && !same_type_ignoring_top_level_qualifiers_p (type1, type2)

is true?

Paolo.

Reply via email to