va-arg-25.c

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

C
38
字号
/* Varargs and vectors!  */#include <stdarg.h>#include <limits.h>#define vector __attribute__((vector_size(16)))const vector unsigned int v1 = {10,11,12,13};const vector unsigned int v2 = {20,21,22,23};void foo(int a, ...){  va_list args;  vector unsigned int v;  va_start (args, a);  v = va_arg (args, vector unsigned int);  if (a != 1 || memcmp (&v, &v1, sizeof (v)) != 0)    abort ();  a = va_arg (args, int);  if (a != 2)    abort ();  v = va_arg (args, vector unsigned int);  if (memcmp (&v, &v2, sizeof (v)) != 0)    abort ();  va_end (args);}int main(void){#if INT_MAX == 2147483647  foo (1, (vector unsigned int){10,11,12,13}, 2,       (vector unsigned int){20,21,22,23});#endif  return 0;}

⌨️ 快捷键说明

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