struct-by-value-22_y.c

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

C
40
字号
#include <stdarg.h>#include "compat-common.h"#include "mixed-struct-defs.h"#include "mixed-struct-check.h"#ifdef SKIP_VAconst int test_va = 0;#elseconst int test_va = 1;#endif#define T(NAME, FIELDS, TYPE, FIELDINIT, FIELDTEST)			\void									\testva##NAME (int n, ...)						\{									\  va_list ap;								\  if (test_va)								\    {									\      struct S { FIELDS TYPE a[n]; } s;					\      int fail = 0, i, j;						\									\      va_start (ap, n);							\      for (j = 0; j < 2; ++j)						\        {								\	  s = va_arg (ap, struct S);					\	  for (i = 0; i < n; ++i)					\	    if (s.a[i] != 12 + n - i)					\	      ++fail;							\	  if (fail)							\	    { DEBUG_FAIL; }						\	  if (!j && va_arg (ap, int) != n)				\	    { DEBUG_FAIL; }						\	  FIELDTEST;							\	}								\      va_end (ap);							\    }									\}#include "struct-by-value-22_x.c"

⌨️ 快捷键说明

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