// { dg-do run  }
// { dg-options "-Wno-nested-anon-types" }
extern "C" void abort (void);

static union { 
  int x1; 
  long x2; 
  short x3;
  long x4;
};

static union {
  union {
    union {
      int z;
    };
  };
  union {
    union {
      double d;
      int i;
    };
  };
};


int main()
{
  z = 3;
  if (i != 3)
    abort ();
  d = 2.5;
}
