1 /* PR c/60226 - ICE initializing array of elements with too large alignment */
2 /* { dg-do compile } */
3 /* { dg-options "-Wno-c++-compat" { target c } } */
4 /* { dg-require-effective-target int32plus } */
5
6 typedef int __attribute__ ((aligned (1 << 28))) int28;
7 int28 foo[4] = {}; /* { dg-error "alignment of array elements is greater than element size|maximum object file alignment" } */
8 typedef int __attribute__ ((aligned (1 << 29))) int29; /* { dg-error "requested alignment|maximum object file alignment" } */
9
10 void
11 f (void)
12 {
13 struct { __attribute__((aligned (1 << 28))) double a; } x1;
14 struct { __attribute__((aligned (1 << 29))) double a; } x2; /* { dg-error "requested alignment" } */
15 }