diff mbox series

Fix up method-nonnull-1.mm testcase on Solaris (PR testsuite/88090)

Message ID 20181120203641.GE11625@tucnak
State New
Headers show
Series Fix up method-nonnull-1.mm testcase on Solaris (PR testsuite/88090) | expand

Commit Message

Jakub Jelinek Nov. 20, 2018, 8:36 p.m. UTC
Hi!

The following testcase fails on Solaris, because it doesn't print there
'size_t', but 'std::size_t', as the type is defined by system headers and
it is not under gcc control how exactly is size_t defined.

The following patch fixes that by using a different typedef which we have
total control over.

Tested on x86_64-linux and i686-linux, ok for trunk?

2018-11-20  Jakub Jelinek  <jakub@redhat.com>

	PR testsuite/88090
	* obj-c++.dg/attributes/method-nonnull-1.mm (my_size_t): New typedef.
	(MyArray::removeObjectAtIndex): Use my_size_t instead of size_t and
	expect it in diagnostics.


	Jakub

Comments

Mike Stump Nov. 26, 2018, 9:23 p.m. UTC | #1
On Nov 20, 2018, at 12:36 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> 
> The following testcase fails on Solaris, because it doesn't print there
> 'size_t', but 'std::size_t', as the type is defined by system headers and
> it is not under gcc control how exactly is size_t defined.
> 
> The following patch fixes that by using a different typedef which we have
> total control over.
> 
> Tested on x86_64-linux and i686-linux, ok for trunk?

Ok.
diff mbox series

Patch

--- gcc/testsuite/obj-c++.dg/attributes/method-nonnull-1.mm.jj	2018-11-16 10:22:17.817272221 +0100
+++ gcc/testsuite/obj-c++.dg/attributes/method-nonnull-1.mm	2018-11-20 09:10:28.404872788 +0100
@@ -5,6 +5,8 @@ 
 #include <objc/objc.h>
 #include <stdlib.h>
 
+typedef __SIZE_TYPE__ my_size_t;
+
 @interface MyArray
 {
   Class isa;
@@ -25,8 +27,8 @@ 
 + (void) removeObject: (id)object __attribute__ ((nonnull (2))); /* { dg-warning "exceeds the number of function parameters 3" } */
 - (void) removeObject: (id)object __attribute__ ((nonnull (2))); /* { dg-warning "exceeds the number of function parameters 3" } */
 
-+ (void) removeObjectAtIndex: (size_t)object __attribute__ ((nonnull (1))); /* { dg-warning "refers to parameter type .size_t." } */
-- (void) removeObjectAtIndex: (size_t)object __attribute__ ((nonnull (1))); /* { dg-warning "refers to parameter type .size_t." } */
++ (void) removeObjectAtIndex: (my_size_t)object __attribute__ ((nonnull (1))); /* { dg-warning "refers to parameter type .my_size_t." } */
+- (void) removeObjectAtIndex: (my_size_t)object __attribute__ ((nonnull (1))); /* { dg-warning "refers to parameter type .my_size_t." } */
 
 + (void) removeObject: (id)object __attribute__ ((nonnull (MyArray))); /* { dg-error "" } */
   /* { dg-warning "attribute argument is invalid" "" { target *-*-* } .-1 } */