- icc 11 defines __ptr32
[cparser] / driver / firm_opt.c
index 2a85403..c37c87a 100644 (file)
@@ -2,7 +2,7 @@
  *
  * @file firm_opt.c -- Firm-generating back end optimizations.
  *
- * (C) 2005-2007  Michael Beck   beck@ipd.info.uni-karlsruhe.de
+ * (C) 2005-2009  Michael Beck   beck@ipd.info.uni-karlsruhe.de
  *
  * $Id$
  */
@@ -217,7 +217,7 @@ static void rts_map(void) {
     { &rts_entities[rts_strcpy],  i_mapper_strcpy },
     { &rts_entities[rts_strlen],  i_mapper_strlen },
     { &rts_entities[rts_memcpy],  i_mapper_memcpy },
-       { &rts_entities[rts_mempcpy], i_mapper_mempcpy },
+    { &rts_entities[rts_mempcpy], i_mapper_mempcpy },
     { &rts_entities[rts_memmove], i_mapper_memmove },
     { &rts_entities[rts_memset],  i_mapper_memset },
     { &rts_entities[rts_memcmp],  i_mapper_memcmp }
@@ -643,6 +643,10 @@ static int compute_type_size(ir_type *ty)
       ir_type *ent_ty = get_entity_type(ent);
       unsigned align, misalign;
 
+      /* inner functions do not expand the frame */
+      if (is_Method_type(ent_ty) && is_frame_type(ty))
+        continue;
+
       /* compute member types */
       if (! compute_type_size(ent_ty))
         return 0;