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]

PR tree-optimization/19337


Hi,
the problem here is link pointer being mapped incorrectly during
recursive inlining.

Honza

void write_char(char);
int len(char*);
void f(char *a)
{
  int col = 0;
  int i;
  void wchar(char c)
  {
    if (c == '\t')
     {
      do {
       wchar(' ');
      } while ((col%8)!=0);
     }
    else
     {
       write_char (c);
       col++;
     }
  }
  for(i =0;i<len(a);i++)
  {
   wchar(*a);
  }
}

2005-01-13  Jan Hubicka  <jh@suse.cz>

	PR tree-optimize/19337
	* tree-inlie.c (initialize_inlined_parameters): Copy
	saved_static_chain_decl only.

Index: tree-inline.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-inline.c,v
retrieving revision 1.162
diff -c -3 -p -r1.162 tree-inline.c
*** tree-inline.c	4 Jan 2005 01:54:25 -0000	1.162
--- tree-inline.c	13 Jan 2005 00:04:22 -0000
*************** initialize_inlined_parameters (inline_da
*** 808,813 ****
--- 809,816 ----
  
    /* Initialize the static chain.  */
    p = DECL_STRUCT_FUNCTION (fn)->static_chain_decl;
+   if (DECL_STRUCT_FUNCTION (fn)->saved_static_chain_decl)
+     p = DECL_STRUCT_FUNCTION (fn)->saved_static_chain_decl;
    if (p)
      {
        /* No static chain?  Seems like a bug in tree-nested.c.  */


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