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: [tree-ssa] Bootstrap failure


Op di 29-07-2003, om 09:08 schreef Steven Bosscher:
> Something in the last 12 hours broke bootstrap with checking enabled for
> the tree-ssa branch (last updated 06:22:22 UTC 2003) on i686-pc-linux-gnu:

I don't know if this is how it _should_ be fixed, but it somehow does
allow me to finish the bootstrap, so at least it demonstrates what/where
the problem is ;-)

Gr.
Steven

	* tree-ssa.c (insert_copy_on_edge): Allow src to be something
	that is not a symbol.  Only set the USED bit if it does refer
	to a symbol.  Update comment.  
Index: tree-ssa.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-ssa.c,v
retrieving revision 1.1.4.111
diff -c -3 -p -r1.1.4.111 tree-ssa.c
*** tree-ssa.c	29 Jul 2003 04:45:59 -0000	1.1.4.111
--- tree-ssa.c	29 Jul 2003 07:47:59 -0000
*************** create_temp (tree t)
*** 868,884 ****
  }
  
  
! /* This helper function fill insert a copy from one variable to another
!    on the specified edge.  */
  
  static void
  insert_copy_on_edge (edge e, tree dest, tree src)
  {
    tree copy;
  
    copy = build (MODIFY_EXPR, TREE_TYPE (dest), dest, src);
    set_is_used (dest);
!   set_is_used (src);
    if (dump_file && (dump_flags & TDF_DETAILS))
      {
        fprintf (dump_file,
--- 868,891 ----
  }
  
  
! /* This helper function will insert a copy from a variable or constant
!    SRC to a variable DEST on the specified edge E.  */
  
  static void
  insert_copy_on_edge (edge e, tree dest, tree src)
  {
    tree copy;
+   tree src_sym;
  
    copy = build (MODIFY_EXPR, TREE_TYPE (dest), dest, src);
+ 
+   /* If SRC refers to a symbol, mark it as used.  DEST should always
+      refer to a symbol, so always mark it.  */
+   src_sym = get_base_symbol (src);
+   if (src_sym != NULL_TREE)
+     set_is_used (src_sym);
    set_is_used (dest);
! 
    if (dump_file && (dump_flags & TDF_DETAILS))
      {
        fprintf (dump_file,

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