annotate gcc/testsuite/gcc.dg/wtr-union-init-2.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* Test for -Wtraditional warnings on union initialization.
kono
parents:
diff changeset
2 Note, gcc should omit these warnings in system header files.
kono
parents:
diff changeset
3 By Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 9/11/2000. */
kono
parents:
diff changeset
4 /* { dg-do compile } */
kono
parents:
diff changeset
5 /* { dg-options "-Wtraditional" } */
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 union foo1
kono
parents:
diff changeset
8 {
kono
parents:
diff changeset
9 float f;
kono
parents:
diff changeset
10 int i;
kono
parents:
diff changeset
11 long l;
kono
parents:
diff changeset
12 };
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 union foo2
kono
parents:
diff changeset
15 {
kono
parents:
diff changeset
16 int i;
kono
parents:
diff changeset
17 float f;
kono
parents:
diff changeset
18 long l;
kono
parents:
diff changeset
19 };
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 void
kono
parents:
diff changeset
22 testfunc ()
kono
parents:
diff changeset
23 {
kono
parents:
diff changeset
24 /* Note we only warn for nonzero initializers. */
kono
parents:
diff changeset
25 static union foo1 f1 = {0};
kono
parents:
diff changeset
26 static union foo2 f2 = {0};
kono
parents:
diff changeset
27 static union foo1 f3 = {1}; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */
kono
parents:
diff changeset
28 static union foo2 f4 = {1}; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */
kono
parents:
diff changeset
29 static union foo1 f5 = {0.0};
kono
parents:
diff changeset
30 static union foo2 f6 = {0.0};
kono
parents:
diff changeset
31 static union foo1 f7 = {1.0}; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */
kono
parents:
diff changeset
32 static union foo2 f8 = {1.0}; /* { dg-warning "traditional C rejects initialization of unions" "initialization of unions" } */
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 # 35 "sys-header.h" 3
kono
parents:
diff changeset
35 /* We are in system headers now, no -Wtraditional warnings should issue. */
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 static union foo1 b1 = {0};
kono
parents:
diff changeset
38 static union foo2 b2 = {0};
kono
parents:
diff changeset
39 static union foo1 b3 = {1};
kono
parents:
diff changeset
40 static union foo2 b4 = {1};
kono
parents:
diff changeset
41 static union foo1 b5 = {0.0};
kono
parents:
diff changeset
42 static union foo2 b6 = {0.0};
kono
parents:
diff changeset
43 static union foo1 b7 = {1.0};
kono
parents:
diff changeset
44 static union foo2 b8 = {1.0};
kono
parents:
diff changeset
45 }