URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [vmx/] [varargs-5.c] - Rev 801
Go to most recent revision | Compare with Previous | Blame | View Log
#include "harness.h" #include <stdarg.h> typedef struct n025 { int m1; double m2; int m3; vector signed int m4; } n025; static void varlistn025(int p1, double p2, va_list ap) { n025 q; q.m1 = p1; q.m2 = p2; q.m3 = va_arg(ap, int); q.m4 = va_arg(ap, vector signed int); check(q.m1 == 1363477585, "q.m1"); check(q.m2 == -8.72e+18, "q.m2"); check(q.m3 == 198652649, "q.m3"); check(vec_all_eq(q.m4, ((vector signed int){323001541, -1353029458, 1756879633, -327031280})), "q.m5"); } void varargsn025(int p1, double p2, ...) { n025 r, s; va_list ap; va_start(ap, p2); r.m1 = p1; r.m2 = p2; r.m3 = va_arg(ap, int); r.m4 = va_arg(ap, vector signed int); va_end(ap); check(r.m1 == 1363477585, "r.m1"); check(r.m2 == -8.72e+18, "r.m2"); check(r.m3 == 198652649, "r.m3"); check(vec_all_eq(r.m4, ((vector signed int){323001541, -1353029458, 1756879633, -327031280})), "r.m5"); va_start(ap, p2); s.m1 = p1; s.m2 = p2; s.m3 = va_arg(ap, int); s.m4 = va_arg(ap, vector signed int); va_end(ap); check(s.m1 == 1363477585, "s.m1"); check(s.m2 == -8.72e+18, "s.m2"); check(s.m3 == 198652649, "s.m3"); check(vec_all_eq(s.m4, ((vector signed int){323001541, -1353029458, 1756879633, -327031280})), "s.m5"); va_start(ap, p2); varlistn025(p1, p2, ap); va_end(ap); } static void test() { varargsn025(1363477585, -8.72e+18, 198652649, ((vector signed int){323001541, -1353029458, 1756879633, -327031280})); }
Go to most recent revision | Compare with Previous | Blame | View Log