1 /* { dg-do run } */
2 /* { dg-options "-fcheck-pointer-bounds -mmpx" } */
3
4
5 #include "mpx-check.h"
6 #include <stdarg.h>
7
8 int buf[100];
9 int buf1[10];
10
vararg(int * p,va_list al)11 void vararg (int *p, va_list al)
12 {
13 int i;
14 int res;
15
16 p = va_arg (al, int *);
17 i = va_arg (al, int);
18
19 res = p[i];
20 printf ("%d\n", res);
21 }
22
foo(int * p,...)23 void foo (int *p, ...)
24 {
25 va_list args;
26
27 va_start (args, p);
28 vararg (p, args);
29 va_end (args);
30 }
31
mpx_test(int argc,const char ** argv)32 int mpx_test (int argc, const char **argv)
33 {
34 foo (buf1, buf, 0);
35 foo (buf1, buf, 99);
36
37 return 0;
38 }
39