11f5207b7SJohn Levon struct A { 21f5207b7SJohn Levon int a[1]; 31f5207b7SJohn Levon int b; 41f5207b7SJohn Levon }; 51f5207b7SJohn Levon 61f5207b7SJohn Levon extern int c; 71f5207b7SJohn Levon 81f5207b7SJohn Levon static int o[] = { 91f5207b7SJohn Levon [__builtin_offsetof(struct A, b)] = 0, // OK 101f5207b7SJohn Levon [__builtin_offsetof(struct A, a[0])] = 0, // OK 111f5207b7SJohn Levon [__builtin_offsetof(struct A, a[0*0])] = 0, // OK 121f5207b7SJohn Levon [__builtin_offsetof(struct A, a[c])] = 0 // KO 131f5207b7SJohn Levon }; 141f5207b7SJohn Levon 151f5207b7SJohn Levon /* 16*c85f09ccSJohn Levon * check-name: constexprness __builtin_offsetof() 171f5207b7SJohn Levon * 181f5207b7SJohn Levon * check-error-start 191f5207b7SJohn Levon constexpr-offsetof.c:12:39: error: bad constant expression 201f5207b7SJohn Levon * check-error-end 211f5207b7SJohn Levon */ 22