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