[Patch] PR c/7490

Philippe Trebuchet Philippe.Trebuchet@sophia.inria.fr
Thu Nov 21 07:08:00 GMT 2002


with the correction Jakub suggested:

*** gcc/gcc/testsuite/gcc.c-torture/compile/20021120-1.c Thu Nov 21 12:01:49 2002
--- gcc/gcc/testsuite/gcc.c-torture/compile/20021120-1.c Thu Nov 21 13:10:23 2002
***************
*** 0 ****
--- 1,6 ----
+ void foo()
+ {
+       extern bar() __attribute__((alias "BAR"));
+       bar();
+ }
+ 


Index: gcc/ChangeLog
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/ChangeLog,v
retrieving revision 1.15936
diff -c -p -3 -r1.15936 ChangeLog
*** gcc/ChangeLog	18 Nov 2002 23:21:27 -0000	1.15936
--- gcc/ChangeLog	21 Nov 2002 12:08:41 -0000
***************
*** 1,3 ****
--- 1,8 ----
+ 2002-11-20  Philippe Trebuchet   <Philippe.trebuchet@sophia.inria.fr>
+ 
+ 	* c-semantics.c (genrtl_scope_stmt): Fix local alias Handling
+ 
+ 	
Index: gcc/c-semantics.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/c-semantics.c,v
retrieving revision 1.47
diff -c -p -3 -r1.47 c-semantics.c
*** gcc/c-semantics.c	22 Sep 2002 02:03:15 -0000	1.47
--- gcc/c-semantics.c	21 Nov 2002 12:08:41 -0000
*************** genrtl_scope_stmt (t)
*** 620,628 ****
  	      && !TREE_ASM_WRITTEN (fn)
  	      && TREE_ADDRESSABLE (fn))
  	    {
! 	      push_function_context ();
! 	      output_inline_function (fn);
! 	      pop_function_context ();
  	    }
  	}
      }
--- 620,642 ----
  	      && !TREE_ASM_WRITTEN (fn)
  	      && TREE_ADDRESSABLE (fn))
  	    {
! 	      tree alias;
! 	      alias = lookup_attribute ("alias", DECL_ATTRIBUTES (fn));
! 	      if (alias)
! 		{
! 		  alias = TREE_VALUE (TREE_VALUE (alias));
! 		  alias = get_identifier (TREE_STRING_POINTER (alias));
! 		  assemble_alias (fn, alias);
! 		}
! 	      else if (DECL_SAVED_INSNS (fn) != NULL)
! 		  {
! 		    push_function_context ();
! 		    output_inline_function (fn);
! 		    pop_function_context ();
! 		  }
! 	      else 
! 		error ("no definition for auto nested function `%s'",
! 		       IDENTIFIER_POINTER (DECL_NAME (fn)));
  	    }
  	}
      }



More information about the Gcc-patches mailing list