]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/objc/execute/bf-common.h
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / objc / execute / bf-common.h
diff --git a/gcc/testsuite/objc/execute/bf-common.h b/gcc/testsuite/objc/execute/bf-common.h
deleted file mode 100644 (file)
index 123a454..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#include <objc/encoding.h>
-
-
-void print_ivars (Class class)
-{
-  struct objc_ivar_list* ivars = class->ivars;
-  int i;
-
-  for (i = 0; i < ivars->ivar_count; i++) {
-    struct objc_ivar *ivar = &(ivars->ivar_list[i]);
-    printf ("ivar '%s', type '%s', offset %d\n",
-           ivar->ivar_name, ivar->ivar_type, ivar->ivar_offset);
-  }
-}
-
-void compare_structures (Class class, const char* type)
-{
-  struct objc_struct_layout layout;
-  struct objc_ivar_list* ivars = class->ivars;
-  int i = 0;
-  int position;
-
-  objc_layout_structure (type, &layout);
-
-  while (objc_layout_structure_next_member (&layout))
-    {
-      struct objc_ivar *ivar;
-      const char *ivar_type;
-
-      if (i > ivars->ivar_count)
-        {
-          printf ("too many ivars in type %s, layout = %s\n",
-                  type, layout.type);
-          exit (1);
-        }
-
-      ivar = &(ivars->ivar_list[i]);
-      objc_layout_structure_get_info (&layout, &position, NULL, &ivar_type);
-      printf ("real ivar '%s' offset %d\n",
-              ivar->ivar_name, ivar->ivar_offset);
-      printf ("computed type '%s' offset %d\n", ivar_type, position);
-      if (position != ivar->ivar_offset)
-        {
-          printf ("offset %d and computed position %d don't match on ivar '%s'"
-                  " (i = %d)\n",
-                  ivar->ivar_offset, position, ivar->ivar_name, i);
-          exit (1);
-        }
-      i++;
-    }
-  
-  printf ("%d ivars checked\n", i);
-}
-
-int main ()
-{
-  struct class_vars
-    {
-      @defs (MyObject);
-    };
-  int size1, size2;
-  Class class = [MyObject class];
-
-  printf ("type = %s\n", @encode (struct class_vars));
-  print_ivars (class);
-
-  compare_structures (class, @encode(struct class_vars));
-  if ((size1 = objc_sizeof_type (@encode(struct class_vars)))
-      != (size2 = sizeof (struct class_vars)))
-    {
-      printf ("sizes don't match (computed %d, exact %d)\n", size1, size2);
-      abort ();
-    }
-  
-  exit (0);
-}