summaryrefslogtreecommitdiff
path: root/support/regression/tests/bug-3013.c
blob: 0bb1ee7029d918ce4f046df1b4d756c54e2a7dba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* bug-3013.c
   Segfault when trying to pass struct as vararg parameter.
 */
 
#include <testfwk.h>

#include <stdarg.h>

struct some_struct
{
    int i;
};

void f(int n, ...);

void
testBug(void)
{
    struct some_struct x[1] = {{0xa5}};
    f(0, x[0]);
}

void f(int n, ...)
{
    va_list va;
    va_start (va, n);
    struct some_struct s;
    s = va_arg (va, struct some_struct);
    ASSERT(s.i == 0xa5);
}