📄 struct-by-value-22_x.c
字号:
#ifndef T#include "compat-common.h"#include "mixed-struct-defs.h"#include "mixed-struct-init.h"#define T(NAME, FIELDS, TYPE, FIELDINIT, FIELDTEST) \extern void testva##NAME (int n, ...); \ \void \testit##NAME (int n) \{ \ struct S { FIELDS TYPE a[n]; } s; \ int i; \ FIELDINIT; \ for (i = 0; i < n; ++i) \ s.a[i] = 12 + n - i; \ testva##NAME (n, s, n, s); \}#include "struct-by-value-22_x.c"#undef Tvoidstruct_by_value_22_x (){ int n;DEBUG_INIT#define T(NAME, FIELDS, TYPE, FIELDINIT, FIELDTEST) testit##NAME (n); for (n = 0; n < 16; ++n) {#include "struct-by-value-22_x.c" DEBUG_NL; } for (; n < 110; n += 13) {#include "struct-by-value-22_x.c" DEBUG_NL; }DEBUG_FINIif (fails != 0) abort ();}#else#define S(NAME, FIELDS, FIELDINIT, FIELDTEST) \ T(c##NAME, FIELDS, char, FIELDINIT, FIELDTEST) \ T(s##NAME, FIELDS, short, FIELDINIT, FIELDTEST) \ T(u##NAME, FIELDS, unsigned, FIELDINIT, FIELDTEST) \ T(d##NAME, FIELDS, double, FIELDINIT, FIELDTEST)S(E, , do {} while (0), DEBUG_DOT)S(n, int n;, s.n = n, if (s.n != n) DEBUG_CHECK)#define U(TYPE) \S(TYPE, TYPE s;, init##TYPE (&s.s, n), check##TYPE (s.s, n))U(Scd)U(Scdc)U(Sd)U(Sdi)U(Scsds)U(Scsdsc)U(Scsdis)U(Scsdisc)U(Ssds)U(Ssdsc)U(Scssdss)U(Scssdssc)U(Sfi)U(Sfii)U(Sfifi)U(Sfiifii)#undef S#undef U#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -