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