1/* { dg-do run } */
2/* { dg-options "-fcheck-pointer-bounds -mmpx" } */
3
4
5#include "mpx-check.h"
6
7struct s1
8{
9  int *p;
10  int i1;
11  int i2;
12} s1;
13
14int rd (int *p1, int *p2, int *p3, int *p4, int *p5, struct s1 s)
15{
16  int res = s.p[s.i1 + s.i2];
17  printf ("%d\n", res);
18  return res;
19}
20
21int buf[100];
22int buf1[10];
23
24int mpx_test (int argc, const char **argv)
25{
26  struct s1 s;
27  s.p = buf;
28  s.i1 = 50;
29  s.i2 = -50;
30
31  rd (buf1, buf1, buf1, buf1, buf1, s);
32
33  s.i1 = 50;
34  s.i2 = 49;
35
36  rd (buf1, buf1, buf1, buf1, buf1, s);
37
38  return 0;
39}
40