0001
0002 #ifndef TEST_MODULES_H
0003 #define TEST_MODULES_H
0004
0005 #define __REPEAT_10000_3(f, x) \
0006 f(x ## 0); \
0007 f(x ## 1); \
0008 f(x ## 2); \
0009 f(x ## 3); \
0010 f(x ## 4); \
0011 f(x ## 5); \
0012 f(x ## 6); \
0013 f(x ## 7); \
0014 f(x ## 8); \
0015 f(x ## 9)
0016 #define __REPEAT_10000_2(f, x) \
0017 __REPEAT_10000_3(f, x ## 0); \
0018 __REPEAT_10000_3(f, x ## 1); \
0019 __REPEAT_10000_3(f, x ## 2); \
0020 __REPEAT_10000_3(f, x ## 3); \
0021 __REPEAT_10000_3(f, x ## 4); \
0022 __REPEAT_10000_3(f, x ## 5); \
0023 __REPEAT_10000_3(f, x ## 6); \
0024 __REPEAT_10000_3(f, x ## 7); \
0025 __REPEAT_10000_3(f, x ## 8); \
0026 __REPEAT_10000_3(f, x ## 9)
0027 #define __REPEAT_10000_1(f, x) \
0028 __REPEAT_10000_2(f, x ## 0); \
0029 __REPEAT_10000_2(f, x ## 1); \
0030 __REPEAT_10000_2(f, x ## 2); \
0031 __REPEAT_10000_2(f, x ## 3); \
0032 __REPEAT_10000_2(f, x ## 4); \
0033 __REPEAT_10000_2(f, x ## 5); \
0034 __REPEAT_10000_2(f, x ## 6); \
0035 __REPEAT_10000_2(f, x ## 7); \
0036 __REPEAT_10000_2(f, x ## 8); \
0037 __REPEAT_10000_2(f, x ## 9)
0038 #define REPEAT_10000(f) \
0039 __REPEAT_10000_1(f, 0); \
0040 __REPEAT_10000_1(f, 1); \
0041 __REPEAT_10000_1(f, 2); \
0042 __REPEAT_10000_1(f, 3); \
0043 __REPEAT_10000_1(f, 4); \
0044 __REPEAT_10000_1(f, 5); \
0045 __REPEAT_10000_1(f, 6); \
0046 __REPEAT_10000_1(f, 7); \
0047 __REPEAT_10000_1(f, 8); \
0048 __REPEAT_10000_1(f, 9)
0049
0050 #define DECLARE_RETURN(i) int test_modules_return_ ## i(void)
0051 REPEAT_10000(DECLARE_RETURN);
0052
0053 #endif