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)12int foo1 (char** ptr) 13 { 14 *ptr=str; 15 } 16 foo(char * ptr)17int 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)25int mpx_test (int argc, const char **argv) 26 { 27 printf ("%d\n", foo ("ddddd")); 28 return 0; 29 } 30