This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCHx2,java] Fix java tree checking assert and
- From: Andrew Haley <aph at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Mon, 13 Dec 2010 10:25:38 +0000
- Subject: Re: [PATCHx2,java] Fix java tree checking assert and
- References: <4D036A53.4030604@gmail.com>
On 12/11/2010 12:10 PM, Dave Korn wrote:
>
> Hello lists,
>
>
> The attached patches fix a couple of problems(*) exposed by the tree ssa
> loop prefetch pass in recent trunk builds of jc1:
>
> - loop prefetch generates an invalid gimple call to __builtin_prefetch(),
> because it uses the integer_three_node global tree; because java doesn't take
> advantage of the core build_common_tree_nodes_2() routine but sets up all the
> nodes itself, this was missing any initialisation - integer_three_node is a
> recent addition to the core, and the prefetch pass was adjusted to use it, but
> java was inadvertently omitted.
>
> - turning on tree dump can cause a crash when it tries to generate a name for
> a nested function, because put_decl_node doesn't understand that the context
> of a function_decl can be another function_decl.
>
> The first I fixed by adding the missing initialisation - long-term I guess
> it would be better to see if java couldn't use build_common_tree_nodes_2() in
> some way, but that's not stage3 material. The second I fixed by making it
> treat the nested function as just another level of scope, adding another
> period-separated segment to the generated name.
>
> java/ChangeLog:
>
> * decl.c (java_init_decl_processing): Initialise integer_three_node.
> * lang.c (put_decl_node): Handle nested function decls.
>
> I verified that this fixed the failing compile that I had seen in the
> testsuite, now I'm taking the combined patchset for a full bootstrap and test
> cycle on i686-pc-cygwin. OK if that completes without regressions?
Yes, that looks OK.
Andrew.