/* { dg-do compile { target i?86-*-* sparc*-*-* x86_64-*-* } } */
/* { dg-options "-O2" } */

extern void abort (void);
extern void exit (int);

typedef enum { false, true } __attribute__ ((packed)) boolean;
typedef struct {
  enum {
    A0 = 0, A1 = 1, A2 = 2
  } __attribute__((packed)) A:3;
  enum {
    B0 = 0, B1 = 1, B2 = 2
  } __attribute__((packed)) B:3;
  boolean C:1;
  boolean D:1;
  unsigned char :8;
} foo;
foo x = { A2, B1, false, true };

int main(void)
{
  if (sizeof (foo) != 2 || __alignof__ (foo) != 1)
    abort ();

  exit (0);
}
