Viewing file: amd64-abi-5.c (1.14 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* { dg-do run { target { ! ia32 } } } */ /* { dg-options "-O2" } */
#include <stdarg.h> #include <assert.h>
int n1 = 30; double n2 = 324; double n3 = 39494.94; double n4 = 407; double n5 = 32.304; double n6 = 394.14; double n7 = 4.07; double n8 = 32.4; double n9 = 314.194; double n10 = 0.1407;
int e1; double e2; double e3; double e4; double e5; double e6; double e7; double e8; double e9; double e10;
static void __attribute__((noinline)) test (int a1, ...) { e1 = a1; va_list va_arglist; va_start (va_arglist, a1); e2 = va_arg (va_arglist, double); e3 = va_arg (va_arglist, double); e4 = va_arg (va_arglist, double); e5 = va_arg (va_arglist, double); e6 = va_arg (va_arglist, double); e7 = va_arg (va_arglist, double); e8 = va_arg (va_arglist, double); e9 = va_arg (va_arglist, double); e10 = va_arg (va_arglist, double); va_end (va_arglist); }
int main () { test (n1, n2, n3, n4, n5, n6, n7, n8, n9, n10); assert (n1 == e1); assert (n2 == e2); assert (n3 == e3); assert (n4 == e4); assert (n5 == e5); assert (n6 == e6); assert (n7 == e7); assert (n8 == e8); assert (n9 == e9); assert (n10 == e10); return 0; }
|