1 /* PR middle-end/41935 */
2 
3 extern void abort (void);
4 
5 long int
foo(int n,int i,int j)6 foo (int n, int i, int j)
7 {
8   typedef int T[n];
9   struct S { int a; T b[n]; };
10   return __builtin_offsetof (struct S, b[i][j]);
11 }
12 
13 int
main(void)14 main (void)
15 {
16   typedef int T[5];
17   struct S { int a; T b[5]; };
18   if (foo (5, 2, 3)
19       != __builtin_offsetof (struct S, b) + (5 * 2 + 3) * sizeof (int))
20     abort ();
21   if (foo (5, 5, 5)
22       != __builtin_offsetof (struct S, b) + (5 * 5 + 5) * sizeof (int))
23     abort ();
24   return 0;
25 }
26