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: [PATCH][C++] Fix PR40799


On Sat, Jul 18, 2009 at 12:29 PM, Richard Guenther<rguenther@suse.de> wrote:
>
> This fixes a fallout from the gimplification unit-at-a-time patch.
> The issue is that not all of C++ GENERIC (well, what is GENERIC
> anyway ...) is handled by the tree copying routines in tree-inline.c
> In particular they are confused by USING_DECLs which do not have
> types in their TREE_TYPE field which causes the testcase to ICE.
>
> My fix is to move the C++ specific gimplification of these to
> the C++ specific genericization. ?I'm somewhat confused as of
> what is supposed to be GENERIC or done during genericization
> vs. gimplification (which also handles arbitrary trees via the
> langhook...).
>
> Anyway - I will try to work again on one of my followup patches
> to the unit-at-a-time gimplification which will move the actual
> cloning to the middle-end using the inliner.
>
> In the meantime this should fix the immediate fallout.
>
> Bootstrapped and tested on x86_64-unknown-linux-gnu, ok for trunk?
>
> Thanks,
> Richard.
>
> 2009-07-18 ?Richard Guenther ?<rguenther@suse.de>
>
> ? ? ? ?PR c++/40799
> ? ? ? ?* cp-gimplify.c (cp_gimplify_expr): Move handling of using
> ? ? ? ?related exprs to ...
> ? ? ? ?(cp_genericize_r): ... genericization stage.
> ? ? ? ?(cp_genericize): Adjust.
>
> ? ? ? ?* g++.dg/lookup/using21.C: New testcase.
>

The new testcase fails for me.



-- 
H.J.


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