Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/va-arg-pack-1.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
line wrap: on
line source
/* { dg-do compile } */ /* { dg-options "-O2 -fgnu89-inline" } */ int bar (int, const char *, int, ...); int baz (int, const char *, long int); int f1 (int x, ...) { return bar (5, "", 6, __builtin_va_arg_pack ()); /* { dg-error "invalid use of" } */ } extern inline __attribute__((always_inline)) int f2 (int y, ...) { return bar (y, "", __builtin_va_arg_pack ()); /* { dg-error "invalid use of" } */ } extern inline __attribute__((always_inline)) int f3 (int y, ...) { return bar (y, "", 5, __builtin_va_arg_pack ()); } extern inline __attribute__((always_inline)) int f4 (int y, ...) { return bar (y, "", 4, __builtin_va_arg_pack (), 6); /* { dg-error "invalid use of" } */ } extern inline __attribute__((always_inline)) int f5 (int y, ...) { return baz (y, "", __builtin_va_arg_pack ()); /* { dg-error "invalid use of" } */ } extern inline __attribute__((always_inline)) int f6 (int y, ...) { return __builtin_va_arg_pack (); /* { dg-error "invalid use of" } */ } int test (void) { int a = f2 (5, "a", 6); a += f3 (6, "ab", 17LL); a += f4 (7, 1, 2, 3); a += f5 (8, 7L); a += f6 (9); return a; }