fix for targets with different long and ptr sizes.
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Oct 2010 15:28:06 +0000 (15:28 +0000)
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Oct 2010 15:28:06 +0000 (15:28 +0000)
       * objc.dg/proto-lossage-4.m: Use intptr_t instead of long type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165121 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/objc.dg/proto-lossage-4.m

index a38c250..c78a2f3 100644 (file)
@@ -1,3 +1,8 @@
+2010-10-07  Iain Sandoe  <iains@gcc.gnu.org>
+           Kai Tietz  <kai.tietz@onevision.com>
+
+       * objc.dg/proto-lossage-4.m: Use intptr_t instead of long type.
+
 2010-10-07  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/45732
index 8df169d..9800d49 100644 (file)
@@ -3,36 +3,38 @@
 /* Author: Ziemowit Laski <zlaski@apple.com>.  */
 /* { dg-do compile } */
 
+#include <stdint.h>
+
 /* One-line substitute for objc/objc.h */
 typedef struct objc_object { struct objc_class *class_pointer; } *id;
 
 @protocol Proto
-- (long)someValue;
+- (intptr_t)someValue;
 @end
 
 @interface Obj
-- (long)anotherValue;
+- (intptr_t)anotherValue;
 @end
 
 long foo(void) {
-  long receiver = 2;
+  intptr_t receiver = 2;
   Obj *objrcvr;
   Obj <Proto> *objrcvr2;
 
   /* NB: Since 'receiver' is an invalid ObjC message receiver, the compiler
      should warn but then search for methods as if we were messaging 'id'.  */
 
-  receiver += [receiver someValue]; /* { dg-warning "invalid receiver type .long int." } */
-  receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .long int." } */
+  receiver += [receiver someValue]; /* { dg-warning "invalid receiver type .intptr_t." } */
+  receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .intptr_t." } */
 
   receiver += [(Obj *)receiver someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
-/* { dg-warning "assignment makes integer from pointer without a cast" "" { target *-*-* } 28 } */
+/* { dg-warning "assignment makes integer from pointer without a cast" "" { target *-*-* } 30 } */
 
   receiver += [(Obj *)receiver anotherValue];
   receiver += [(Obj <Proto> *)receiver someValue];
   receiver += [(Obj <Proto> *)receiver anotherValue];
   receiver += [objrcvr someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
-/* { dg-warning "assignment makes integer from pointer without a cast" "" { target *-*-* } 34 } */
+/* { dg-warning "assignment makes integer from pointer without a cast" "" { target *-*-* } 36 } */
 
   receiver += [objrcvr anotherValue];
   receiver += [(Obj <Proto> *)objrcvr someValue];
@@ -40,7 +42,7 @@ long foo(void) {
   receiver += [objrcvr2 someValue];
   receiver += [objrcvr2 anotherValue];
   receiver += [(Obj *)objrcvr2 someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */
-/* { dg-warning "assignment makes integer from pointer without a cast" "" { target *-*-* } 42 } */
+/* { dg-warning "assignment makes integer from pointer without a cast" "" { target *-*-* } 44 } */
 
   receiver += [(Obj *)objrcvr2 anotherValue];