34 lines
654 B
C
34 lines
654 B
C
/* Test for _Bool bit-fields. They have the semantics of _Bool, at
|
|
least for now (DR#335 Spring 2007 discussion). */
|
|
/* Origin: Joseph Myers <joseph@codesourcery.com> */
|
|
/* { dg-do run } */
|
|
/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
|
|
struct foo
|
|
{
|
|
_Bool a : 1;
|
|
} sf;
|
|
|
|
extern void abort (void);
|
|
extern void exit (int);
|
|
|
|
int
|
|
main (void)
|
|
{
|
|
int i;
|
|
for (i = 0; i < sizeof (struct foo); i++)
|
|
*((unsigned char *)&sf + i) = (unsigned char) -1;
|
|
sf.a = 2;
|
|
if (sf.a != 1)
|
|
abort ();
|
|
sf.a = 0;
|
|
if (sf.a != 0)
|
|
abort ();
|
|
sf.a = 0.2;
|
|
if (sf.a != 1)
|
|
abort ();
|
|
sf.a = &sf;
|
|
if (sf.a != 1)
|
|
abort ();
|
|
exit (0);
|
|
}
|