|
3 | 3 |
|
4 | 4 | #include <cstddef> |
5 | 5 |
|
6 | | -typedef bool t1; |
7 | | -typedef bool *t2; |
8 | | -typedef const bool *t3; |
9 | | -typedef float t4; |
10 | | -typedef float *t5; |
11 | | -typedef const float *t6; |
12 | | -typedef double t7; |
13 | | -typedef double *t8; |
14 | | -typedef const double *t9; |
15 | | -typedef char t10; |
16 | | -typedef char *t11; |
17 | | -typedef const char *t12; |
18 | | -typedef signed char t13; |
19 | | -typedef signed char *t14; |
20 | | -typedef const signed char *t15; |
21 | | -typedef unsigned char t16; |
22 | | -typedef unsigned char *t17; |
23 | | -typedef const unsigned char *t18; |
24 | | -typedef short t19; |
25 | | -typedef short *t20; |
26 | | -typedef const short *t21; |
27 | | -typedef unsigned short t22; |
28 | | -typedef unsigned short *t23; |
29 | | -typedef const unsigned short *t24; |
30 | | -typedef int t25; |
31 | | -typedef int *t26; |
32 | | -typedef const int *t27; |
33 | | -typedef unsigned int t28; |
34 | | -typedef unsigned int *t29; |
35 | | -typedef const unsigned int *t30; |
36 | | -typedef long t31; |
37 | | -typedef long *t32; |
38 | | -typedef const long *t33; |
39 | | -typedef unsigned long t34; |
40 | | -typedef unsigned long *t35; |
41 | | -typedef const unsigned long *t36; |
42 | | -typedef long long t37; |
43 | | -typedef long long *t38; |
44 | | -typedef const long long *t39; |
45 | | -typedef unsigned long long t40; |
46 | | -typedef unsigned long long *t41; |
47 | | -typedef const unsigned long long *t42; |
48 | | -typedef void *t43; |
49 | | -typedef const void *t44; |
50 | | -typedef decltype(nullptr) t45; |
51 | | -typedef void t46; |
52 | | -typedef long double t47; |
53 | | -typedef wchar_t t48; |
54 | | -typedef char8_t t49; |
55 | | -typedef char16_t t50; |
56 | | -typedef char32_t t51; |
57 | | -typedef __int128 t52; |
58 | | -typedef unsigned __int128 t53; |
| 6 | +#define BUILTIN_TYPE(N, T) \ |
| 7 | + typedef T t##N##0; \ |
| 8 | + typedef T *t##N##1; \ |
| 9 | + typedef const T *t##N##2; \ |
| 10 | + typedef volatile T *t##N##3; \ |
| 11 | + typedef const volatile T *t##N##4; |
| 12 | + |
| 13 | +typedef decltype(nullptr) t0; |
| 14 | + |
| 15 | +BUILTIN_TYPE(1, bool) |
| 16 | +BUILTIN_TYPE(2, char) |
| 17 | +BUILTIN_TYPE(3, signed char) |
| 18 | +BUILTIN_TYPE(4, unsigned char) |
| 19 | +BUILTIN_TYPE(5, char8_t) |
| 20 | +BUILTIN_TYPE(6, short) |
| 21 | +BUILTIN_TYPE(7, unsigned short) |
| 22 | +BUILTIN_TYPE(8, char16_t) |
| 23 | +BUILTIN_TYPE(9, int) |
| 24 | +BUILTIN_TYPE(10, unsigned int) |
| 25 | +BUILTIN_TYPE(11, wchar_t) |
| 26 | +BUILTIN_TYPE(12, char32_t) |
| 27 | +BUILTIN_TYPE(13, float) |
| 28 | +BUILTIN_TYPE(14, long) |
| 29 | +BUILTIN_TYPE(15, unsigned long) |
| 30 | +BUILTIN_TYPE(16, long long) |
| 31 | +BUILTIN_TYPE(17, unsigned long long) |
| 32 | +BUILTIN_TYPE(18, double) |
| 33 | +BUILTIN_TYPE(19, long double) |
| 34 | +BUILTIN_TYPE(20, __int128) |
| 35 | +BUILTIN_TYPE(21, unsigned __int128) |
| 36 | +BUILTIN_TYPE(22, void) |
| 37 | + |
| 38 | +#undef BUILTIN_TYPE |
0 commit comments