This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ Patch] PR 50732
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: Paolo Carlini <paolo dot carlini at oracle dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Jason Merrill <jason at redhat dot com>
- Date: Fri, 14 Oct 2011 20:30:53 +0200
- Subject: Re: [C++ Patch] PR 50732
- References: <4E987E24.6000707@oracle.com>
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.