annotate gcc/testsuite/gcc.dg/Wc90-c99-compat-2.c @ 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 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-std=gnu99 -Wc90-c99-compat -pedantic-errors" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 _Bool b; /* { dg-warning "ISO C90 does not support boolean types" } */
kono
parents:
diff changeset
5 _Complex double c = __builtin_complex (0.0, 0.0); /* { dg-warning "ISO C90 does not support complex types" } */
kono
parents:
diff changeset
6 long long l; /* { dg-warning "ISO C90 does not support .long long." } */
kono
parents:
diff changeset
7 struct A { int i; char a[]; }; /* { dg-warning "ISO C90 does not support flexible array members" } */
kono
parents:
diff changeset
8 struct { long int b: 2; } s; /* { dg-warning "type of bit-field .b. is a GCC extension" } */
kono
parents:
diff changeset
9 const const int i; /* { dg-warning "duplicate .const." } */
kono
parents:
diff changeset
10 volatile volatile int v; /* { dg-warning "duplicate .volatile." } */
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 struct S { int a[2]; };
kono
parents:
diff changeset
13 extern struct S foo (void);
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 #define V(v, ...) (v, __VA_ARGS) /* { dg-warning "anonymous variadic macros were introduced in C99" } */
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 enum { E, }; /* { dg-warning "comma at end of enumerator list" } */
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 void fn1 (char [*]); /* { dg-warning "ISO C90 does not support .\\\[\\\*\\\]. array declarators" } */
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 void
kono
parents:
diff changeset
22 fn2 (char x[static 4]) /* { dg-warning "ISO C90 does not support .static. or type qualifiers" } */
kono
parents:
diff changeset
23 {
kono
parents:
diff changeset
24 int i = (int) { 1 }; /* { dg-warning "ISO C90 forbids compound literals" } */
kono
parents:
diff changeset
25 struct A a = { .i = 3 }; /* { dg-warning "ISO C90 forbids specifying subobject to initialize" } */
kono
parents:
diff changeset
26 }
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 void
kono
parents:
diff changeset
29 fn3 (int n)
kono
parents:
diff changeset
30 {
kono
parents:
diff changeset
31 n = 3;
kono
parents:
diff changeset
32 int i; /* { dg-warning "ISO C90 forbids mixed declarations and code" } */
kono
parents:
diff changeset
33 }
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 void
kono
parents:
diff changeset
36 fn4 (int n)
kono
parents:
diff changeset
37 {
kono
parents:
diff changeset
38 n = 3;
kono
parents:
diff changeset
39 __extension__ int i; /* { dg-warning "ISO C90 forbids mixed declarations and code" } */
kono
parents:
diff changeset
40 }
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 void
kono
parents:
diff changeset
43 fn5 (void)
kono
parents:
diff changeset
44 {
kono
parents:
diff changeset
45 (foo ()).a[0]; /* { dg-warning "ISO C90 forbids subscripting non-lvalue array" } */
kono
parents:
diff changeset
46 }
kono
parents:
diff changeset
47
kono
parents:
diff changeset
48 #define F(a) a
kono
parents:
diff changeset
49
kono
parents:
diff changeset
50 void
kono
parents:
diff changeset
51 fn6 (void)
kono
parents:
diff changeset
52 {
kono
parents:
diff changeset
53 F(); /* { dg-warning "invoking macro F argument" } */
kono
parents:
diff changeset
54 }
kono
parents:
diff changeset
55
kono
parents:
diff changeset
56 void fn7 (int n, int a[n]); /* { dg-warning "ISO C90 forbids variable length array .a." } */