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