Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.c-torture/execute/va-arg-trap-1.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* Undefined behavior from a call to va_arg with a type other than that of the argument passed (in particular, with a type such as "float" that can never be the type of an argument passed through "...") does not appear until after the va_list expression is evaluated. PR 38483. */ /* Origin: Joseph Myers <joseph@codesourcery.com> */ #include <stdarg.h> extern void exit (int); extern void abort (void); va_list ap; float f; va_list * foo (void) { exit (0); return ≈ } void bar (int i, ...) { va_start (ap, i); f = va_arg (*foo (), float); va_end (ap); } int main (void) { bar (1, 0); abort (); }