gimplify_parameters

Richard Henderson rth@redhat.com
Tue Dec 21 14:46:00 GMT 2004


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;
 



More information about the Gcc mailing list