// { dg-do run }
// { dg-options "-ansi -pedantic-errors -funsigned-bitfields" }

// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 15 Dec 2001 <nathan@codesourcery.com>

typedef int Int;
typedef signed int SInt;
typedef unsigned int UInt;

struct A
{
  SInt bitS : 1;	// signed
  UInt bitU : 1;	// unsigned
  Int bit : 1;		// signedness by -f{signed,unsigned}-bitfields
};

int main ()
{
  A a;

  a.bitS = 1; // { dg-warning "overflow" }
  a.bitU = 1;
  a.bit = 1;

  if (a.bitS != -1)
    return 1;
  if (a.bitU != 1)
    return 2;
  if (a.bit != 1)
    return 3;

  return 0;
}
