URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [va-arg-trap-1.c] - Rev 688
Compare with Previous | Blame | View Log
/* 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 (); }