mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-08 10:37:02 +08:00
Test for not using results of va_arg calls.
From-SVN: r29814
This commit is contained in:
parent
5d836b57fc
commit
ed9e042da2
29
gcc/testsuite/gcc.c-torture/execute/va-arg-11.c
Normal file
29
gcc/testsuite/gcc.c-torture/execute/va-arg-11.c
Normal file
@ -0,0 +1,29 @@
|
||||
/* Test va_arg when the result is ignored and only the pointer increment
|
||||
side effect is used. */
|
||||
#include <stdarg.h>
|
||||
|
||||
static int
|
||||
foo (int a, ...)
|
||||
{
|
||||
va_list va;
|
||||
int i, res;
|
||||
|
||||
va_start (va, a);
|
||||
|
||||
for (i = 0; i < 4; ++i)
|
||||
(void) va_arg (va, int);
|
||||
|
||||
res = va_arg (va, int);
|
||||
|
||||
va_end (va);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
if (foo (5, 4, 3, 2, 1, 0))
|
||||
abort ();
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user