OSDN Git Service

PR preprocessor/30805:
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / bitfld-2.c
1 /* Copyright (C) 2002 Free Software Foundation, Inc.
2
3    Tests we warn about overly-large assignments to bitfields.
4
5    Source: Neil Booth, 28 Jan 2002.
6 */
7
8 struct bf
9 {
10   unsigned int a: 2;
11   int b: 2;
12 };
13
14 struct bf p = {4, 0};           /* { dg-warning "truncated" "" } */
15 struct bf q = {0, 2};           /* { dg-warning "overflow" "" } */
16 struct bf r = {3, -2};          /* { dg-bogus "(truncated|overflow)" } */
17
18 void foo ()
19 {
20   p.a = 4, p.b = 0;             /* { dg-warning "truncated" "" } */
21   q.a = 0, q.b = 2;             /* { dg-warning "overflow" "" } */
22   r.a = 3, r.b = -2;            /* { dg-bogus "(truncated|overflow)" } */
23 }