annotate gcc/testsuite/objc.dg/ivar-problem-1.m @ 144:8f4e72ab4e11

fix segmentation fault caused by nothing next cur_op to end
author Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 21:23:56 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, November 2010. */
kono
parents:
diff changeset
2 /* { dg-do compile } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 /* This test checks what happens if there are 16 instance variables.
kono
parents:
diff changeset
5 In that case, the class was not created correctly. In this testcase,
kono
parents:
diff changeset
6 we have two classes, one with 15 variables and one with 16. Older
kono
parents:
diff changeset
7 GCCs would generate a bogus warning for the second class but not
kono
parents:
diff changeset
8 for the first one. */
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 #include <stdlib.h>
kono
parents:
diff changeset
11 #include <objc/objc.h>
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 @interface MyRootClass1
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 Class isa;
kono
parents:
diff changeset
16 int v2;
kono
parents:
diff changeset
17 int v3;
kono
parents:
diff changeset
18 int v4;
kono
parents:
diff changeset
19 int v5;
kono
parents:
diff changeset
20 int v6;
kono
parents:
diff changeset
21 int v7;
kono
parents:
diff changeset
22 int v8;
kono
parents:
diff changeset
23 int v9;
kono
parents:
diff changeset
24 int v10;
kono
parents:
diff changeset
25 int v11;
kono
parents:
diff changeset
26 int v12;
kono
parents:
diff changeset
27 int v13;
kono
parents:
diff changeset
28 int v14;
kono
parents:
diff changeset
29 int v15;
kono
parents:
diff changeset
30 }
kono
parents:
diff changeset
31 - (id) init;
kono
parents:
diff changeset
32 @end
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 @implementation MyRootClass1
kono
parents:
diff changeset
35 - (id) init { return self; }
kono
parents:
diff changeset
36 @end
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 @interface MyRootClass2
kono
parents:
diff changeset
40 {
kono
parents:
diff changeset
41 Class isa;
kono
parents:
diff changeset
42 int v2;
kono
parents:
diff changeset
43 int v3;
kono
parents:
diff changeset
44 int v4;
kono
parents:
diff changeset
45 int v5;
kono
parents:
diff changeset
46 int v6;
kono
parents:
diff changeset
47 int v7;
kono
parents:
diff changeset
48 int v8;
kono
parents:
diff changeset
49 int v9;
kono
parents:
diff changeset
50 int v10;
kono
parents:
diff changeset
51 int v11;
kono
parents:
diff changeset
52 int v12;
kono
parents:
diff changeset
53 int v13;
kono
parents:
diff changeset
54 int v14;
kono
parents:
diff changeset
55 int v15;
kono
parents:
diff changeset
56 /* Adding the 16th variable used to cause bogus warnings to be
kono
parents:
diff changeset
57 generated. */
kono
parents:
diff changeset
58 int v16;
kono
parents:
diff changeset
59 }
kono
parents:
diff changeset
60 - (id) init;
kono
parents:
diff changeset
61 @end
kono
parents:
diff changeset
62
kono
parents:
diff changeset
63 @implementation MyRootClass2
kono
parents:
diff changeset
64 - (id) init { return self; } /* This should not generate a bogus warning. */
kono
parents:
diff changeset
65 @end