File gcc-noalias-warn.diff of Package gcc47

Index: boehm-gc/finalize.c
===================================================================
--- boehm-gc/finalize.c.orig	2007-03-11 13:17:59.000000000 +0100
+++ boehm-gc/finalize.c	2010-07-01 16:26:16.000000000 +0200
@@ -165,6 +165,7 @@ signed_word * log_size_ptr;
     int index;
     struct disappearing_link * new_dl;
     DCL_LOCK_STATE;
+    struct disappearing_link *** dl_head_adr = &dl_head;
     
     if ((word)link & (ALIGNMENT-1))
     	ABORT("Bad arg to GC_general_register_disappearing_link");
@@ -177,7 +178,7 @@ signed_word * log_size_ptr;
 #	ifndef THREADS
 	    DISABLE_SIGNALS();
 #	endif
-    	GC_grow_table((struct hash_chain_entry ***)(&dl_head),
+    	GC_grow_table((struct hash_chain_entry ***)dl_head_adr,
     		      &log_dl_table_size);
 #	ifdef CONDPRINT
 	  if (GC_print_stats) {
@@ -348,6 +349,7 @@ finalization_mark_proc * mp;
     struct finalizable_object *new_fo;
     hdr *hhdr;
     DCL_LOCK_STATE;
+    struct finalizable_object *** fo_head_adr = &fo_head;
 
 #   ifdef THREADS
 	DISABLE_SIGNALS();
@@ -358,7 +360,7 @@ finalization_mark_proc * mp;
 #	ifndef THREADS
     	    DISABLE_SIGNALS();
 #	endif
-    	GC_grow_table((struct hash_chain_entry ***)(&fo_head),
+    	GC_grow_table((struct hash_chain_entry ***)fo_head_adr,
     		      &log_fo_table_size);
 #	ifdef CONDPRINT
 	  if (GC_print_stats) {
openSUSE Build Service is sponsored by