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]

[tree-ssa] Fix execute/920929-1.c on x86-64 [patch]


This bug was exposed by the new SSA->normal pass.  When copy
decls for inlining, the call to copy_node is also copying tree
annotations.  This was confusing the unSSA pass into thinking
that a variable in an inlined function to be marked as already
processed and shoved into the partition for a completely
different variable.

It never makes sense to copy annotations.  They should always be
unique.

Bootstrapped and tested x86, ppc and x86-64.


Diego.




	* tree.c (copy_node): Never copy tree annotations.

Index: tree.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree.c,v
retrieving revision 1.263.2.26
diff -d -u -p -r1.263.2.26 tree.c
--- tree.c	1 Apr 2003 01:09:14 -0000	1.263.2.26
+++ tree.c	5 Apr 2003 20:14:02 -0000
@@ -397,6 +397,7 @@ copy_node (node)
   TREE_CHAIN (t) = 0;
   TREE_ASM_WRITTEN (t) = 0;
   TREE_VISITED (t) = 0;
+  t->common.ann = 0;
 
   if (TREE_CODE_CLASS (code) == 'd')
     DECL_UID (t) = next_decl_uid++;


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