This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ Patch] for c++/52126


2012/2/16 Jason Merrill <jason@redhat.com>:
> On 02/16/2012 01:47 PM, Fabien Chêne wrote:
>>
>> + ?tree binfo_type = TYPE_MAIN_VARIANT (BINFO_TYPE (binfo));
>
>
> BINFO_TYPE should already be its TYPE_MAIN_VARIANT. ?Why isn't it here?
>
>
>> For (2), the lookup was failing because the flag
>> BINFO_DEPENDENT_BASE_P was set. It think it should not be set for this
>> special case, however, I'm not sure I have unset it at the right
>> place.
>
>
> I think we should avoid setting it in the first place, perhaps by changing
> dependent_type_p to dependent_scope_p in xref_basetypes.

Well, where it takes me ages to figure out what goes wrong and to fix
it in the wrong way, it only takes you a few seconds... Never mind ;-)
Your suggestion fixes the problem above with BINFOs as well, thank you !

complete regtest is running... OK to commit if it succeeds ?

gcc/testsuite/ChangeLog

2012-02-16  Fabien Chêne  <fabien@gcc.gnu.org>

	* g++.dg/template/using21.C: New.
	* g++.dg/template/using22.C: Likewise.

gcc/cp/ChangeLog

2012-02-16  Fabien Chêne  <fabien@gcc.gnu.org>

	* decl.c (xref_basetypes): call dependent_scope_p instead of
	dependent_type_p.

-- 
Fabien

Attachment: 52126_2.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]