Daily bump.
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / mpx / pr68337-1.c
blob3f8d79d42829673b0dd477839c5cc8d6a1e58c44
1 /* { dg-do run } */
2 /* { dg-options "-fcheck-pointer-bounds -mmpx" } */
4 #include "mpx-check.h"
6 #define N 2
8 extern void abort ();
10 static int
11 mpx_test (int argc, const char **argv)
13 char ** src = (char **)malloc (sizeof (char *) * N);
14 char ** dst = (char **)malloc (sizeof (char *) * N);
15 int i;
17 for (i = 0; i < N; i++)
18 src[i] = __bnd_set_ptr_bounds (argv[0] + i, i + 1);
20 __builtin_memcpy(dst, src, sizeof (char *) * N);
22 for (i = 0; i < N; i++)
24 char *p = dst[i];
25 if (p != argv[0] + i
26 || __bnd_get_ptr_lbound (p) != p
27 || __bnd_get_ptr_ubound (p) != p + i)
28 abort ();
31 return 0;