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
10struct S {
11  int a;
12  int b[100];
13  int c;
14} S;
15
16struct S1 {
17  int x;
18  struct S a[10];
19  struct S b;
20} S1;
21
22int foo (int *p, int i)
23{
24  printf ("%d\n", p[i]);
25  return p[i];
26}
27
28struct S1 s1;
29
30int mpx_test (int argc, const char **argv)
31{
32  foo (&s1.a[0].a, -1);
33
34  return 0;
35}
36