aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/abi/arm_va_list.C
blob: 4f6f3a46da41b6ff00e37ac6bb593b81855a183d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// { dg-do compile { target { aarch64*-*-* arm*-*-* } } }
// { dg-options "-Wno-abi" }
// { dg-require-effective-target arm_eabi { target arm*-*-* } }

// AAPCS \S 7.1.4 requires that va_list be a typedef for "struct
// __va_list".  The mangling is as if it were "std::__va_list".
// AAPCS64 \S 7.1.4 has the same requirement for AArch64 targets.
// #include <stdarg.h>
typedef __builtin_va_list va_list;

// { dg-final { scan-assembler "\n_Z1fPSt9__va_list:" } }
void f(va_list*) {}

// { dg-final { scan-assembler "\n_Z1gSt9__va_listS_:" } }
void g(va_list, va_list) {}