OSDN Git Service

2006-04-23 Mark Mitchell <mark@codesourcery.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / abi / bitfield2.C
1 // { dg-do run }
2 // { dg-options "-ansi -pedantic-errors -fsigned-bitfields" }
3
4 // Copyright (C) 2001 Free Software Foundation, Inc.
5 // Contributed by Nathan Sidwell 15 Dec 2001 <nathan@codesourcery.com>
6
7 typedef int Int;
8 typedef signed int SInt;
9 typedef unsigned int UInt;
10
11 struct A
12 {
13   SInt bitS : 1;        // signed
14   UInt bitU : 1;        // unsigned
15   Int bit : 1;          // signedness by -f{signed,unsigned}-bitfields
16 };
17
18 int main ()
19 {
20   A a;
21
22   a.bitS = 1; // { dg-warning "overflow" }
23   a.bitU = 1;
24   a.bit = 1;  // { dg-warning "overflow" }
25
26   if (a.bitS != -1)
27     return 1;
28   if (a.bitU != 1)
29     return 2;
30   if (a.bit != -1)
31     return 3;
32
33   return 0;
34 }