This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gimplify_parameters
- From: Richard Henderson <rth at redhat dot com>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 21 Dec 2004 06:46:12 -0800
- Subject: Re: gimplify_parameters
- References: <10412211255.AA27809@vlsi1.ultra.nyu.edu>
On Tue, Dec 21, 2004 at 07:55:34AM -0500, Richard Kenner wrote:
> My gut feeling was right. It didn't get very far into the Ada RTS build,
> blowing up compiling g-debpoo.adb with an SSA_NAME in an array bound when
> writing debugging information.
Which is actually a symptom of a tree sharing problem between the
array size and the array dimension. We leaked an SSA_NAME object
into the type system.
Easily fixed like so.
With this the entire rts builds. Testsuite is still running.
r~
Index: stor-layout.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/stor-layout.c,v
retrieving revision 1.221
diff -c -p -d -u -r1.221 stor-layout.c
--- stor-layout.c 19 Dec 2004 21:08:33 -0000 1.221
+++ stor-layout.c 21 Dec 2004 14:45:55 -0000
@@ -1644,8 +1644,8 @@ layout_type (tree type)
if (index && TYPE_MAX_VALUE (index) && TYPE_MIN_VALUE (index)
&& TYPE_SIZE (element))
{
- tree ub = TYPE_MAX_VALUE (index);
- tree lb = TYPE_MIN_VALUE (index);
+ tree ub = unshare_expr (TYPE_MAX_VALUE (index));
+ tree lb = unshare_expr (TYPE_MIN_VALUE (index));
tree length;
tree element_size;