Fixes for GCC 4.0: void * and pointer to function are not compatible anymore
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Wed, 31 Aug 2005 09:36:58 +0000 (09:36 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Wed, 31 Aug 2005 09:36:58 +0000 (09:36 +0000)
[r6542]

ir/tr/tr_inheritance.c

index b79bc3c..aed2e16 100644 (file)
@@ -46,7 +46,7 @@ static void copy_entities_from_superclass(type *clss, void *env)
   int overwritten;
   type *super, *inhenttype;
   entity *inhent, *thisent;
-  mangle_inherited_name_func *mfunc = (mangle_inherited_name_func *)env;
+  mangle_inherited_name_func *mfunc = *(mangle_inherited_name_func **)env;
 
   for(i = 0; i < get_class_n_supertypes(clss); i++) {
     super = get_class_supertype(clss, i);
@@ -91,7 +91,7 @@ static void copy_entities_from_superclass(type *clss, void *env)
 void resolve_inheritance(mangle_inherited_name_func *mfunc) {
   if (!mfunc)
     mfunc = default_mangle_inherited_name;
-  class_walk_super2sub(copy_entities_from_superclass, NULL, (void *)mfunc);
+  class_walk_super2sub(copy_entities_from_superclass, NULL, (void *)&mfunc);
 }