]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/i386/mpx/return-struct-5-ubv.c
633e15dbe6710078c161ba2db436c10ef895a844
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / i386 / mpx / return-struct-5-ubv.c
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 struct s1
11 {
12 int i1;
13 int i2;
14 int *p;
15 } s1;
16
17 int buf[100];
18
19 struct s1 __attribute__((noinline)) get ()
20 {
21 struct s1 s;
22 s.p = buf;
23 return s;
24 }
25
26 int __attribute__((noinline)) rd (struct s1 s, int i)
27 {
28 int res = s.p[i];
29 printf ("%d\n", res);
30 return res;
31 }
32
33 int mpx_test (int argc, const char **argv)
34 {
35 struct s1 s = get ();
36
37 rd (s, 100);
38
39 return 0;
40 }