1/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */ 2/* { dg-do compile } */ 3 4/* This test checks what happens if there are 16 instance variables. 5 In that case, the class was not created correctly. In this testcase, 6 we have two classes, one with 15 variables and one with 16. Older 7 GCCs would generate a bogus warning for the second class but not 8 for the first one. */ 9 10#include <stdlib.h> 11#include <objc/objc.h> 12 13@interface MyRootClass1 14{ 15 Class isa; 16 int v2; 17 int v3; 18 int v4; 19 int v5; 20 int v6; 21 int v7; 22 int v8; 23 int v9; 24 int v10; 25 int v11; 26 int v12; 27 int v13; 28 int v14; 29 int v15; 30} 31- (id) init; 32@end 33 34@implementation MyRootClass1 35- (id) init { return self; } 36@end 37 38 39@interface MyRootClass2 40{ 41 Class isa; 42 int v2; 43 int v3; 44 int v4; 45 int v5; 46 int v6; 47 int v7; 48 int v8; 49 int v9; 50 int v10; 51 int v11; 52 int v12; 53 int v13; 54 int v14; 55 int v15; 56 /* Adding the 16th variable used to cause bogus warnings to be 57 generated. */ 58 int v16; 59} 60- (id) init; 61@end 62 63@implementation MyRootClass2 64- (id) init { return self; } /* This should not generate a bogus warning. */ 65@end 66