varargs-5.c

来自「用于进行gcc测试」· C语言 代码 · 共 72 行

C
72
字号
#include "harness.h"#include <stdarg.h>typedef struct n025{  int m1;  double m2;  int m3;  vector signed int m4;}n025;static voidvarlistn025(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");}voidvarargsn025(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}));}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?