1 /* { dg-do run } */
2 /* { dg-shouldfail "bounds violation" } */
3 /* { dg-options "-fcheck-pointer-bounds -mmpx" } */
4 
5 
6 #define SHOULDFAIL
7 
8 #include "mpx-check.h"
9 
10 char *str="dddd";
11 
foo1(char ** ptr)12 int foo1 (char** ptr)
13 {
14   *ptr=str;
15 }
16 
foo(char * ptr)17 int foo (char *ptr)
18 {
19   char *tmp = 0;
20   foo1 (&ptr);
21   tmp = ptr;
22   return tmp[-1];
23 }
24 
mpx_test(int argc,const char ** argv)25 int mpx_test (int argc, const char **argv)
26 {
27   printf ("%d\n", foo ("ddddd"));
28   return 0;
29 }
30