]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/objc/execute/bycopy-3.m
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / objc / execute / bycopy-3.m
diff --git a/gcc/testsuite/objc/execute/bycopy-3.m b/gcc/testsuite/objc/execute/bycopy-3.m
deleted file mode 100644 (file)
index 9c7c0ac..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Contributed by Nicola Pero <nicola@brainstorm.co.uk>
- * Wed Feb 28 12:27:03 CET 2001
- */
-
-/*
- * This test contains some no-op code which is needed to keep it
- * compile on broken gcc 3.x.  Anyway, the no-op code does not
- * interfere with what we are testing, which is that the `bycopy'
- * keyword generates the _F_BYCOPY qualifier for the return type.  */
-
-#include <objc/objc.h>
-#include <objc/Object.h>
-#include <objc/Protocol.h>
-#include <objc/encoding.h>
-
-@protocol MyProtocol
-+ (bycopy id<MyProtocol>) bycopyMethod;
-@end
-
-/* This no-op class to keep it compile under broken gcc 3.x */
-@interface MyObject : Object <MyProtocol> 
-@end
-
-@implementation MyObject
-+ (bycopy id<MyProtocol>) bycopyMethod
-{
-  return [MyObject alloc];
-}
-@end
-
-int main (void)
-{
-  struct objc_method_description *method;
-  const char *method_types;
-  unsigned qualifiers;
-  Protocol *protocol;
-  /* This no-op command is needed to keep the test compile on broken
-     gcc 3.x */
-  MyObject *object = [MyObject bycopyMethod];
-
-  /* Get the protocol object */
-  protocol = @protocol (MyProtocol);
-
-  /* Ask to the protocol for the description of the method bycopyMethod */
-  method = [protocol descriptionForClassMethod: @selector (bycopyMethod)];
-  if (method == NULL)
-    {
-      printf ("Could not find method bycopyMethod in protocol!\n");
-      exit (1);
-    }
-
-  /* Get the method types for the method - which encode return type,
-     arguments etc. */
-  method_types = method->types;
-
-  /* Get the qualifiers for the return type */
-  qualifiers = objc_get_type_qualifiers (method_types);
-
-  /* If _F_BYCOPY is not there, the compiler is broken */
-  if (! (qualifiers & _F_BYCOPY))
-    {
-      printf ("Failed - selector does not contain _F_BYCOPY qualifier!\n");
-      exit (1);
-    }
-
-  /* Else, happy end */
-  return 0;
-}