… | |
… | |
10 | 08:32:23 <b_jonas> probably not, because it would just account to making a union with a highly aligned type, |
10 | 08:32:23 <b_jonas> probably not, because it would just account to making a union with a highly aligned type, |
11 | which is something I can do on any compiler portably |
11 | which is something I can do on any compiler portably |
12 | |
12 | |
13 | TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2) |
13 | TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2) |
14 | #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL)) |
14 | #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL)) |
15 | |
|
|
16 | TODO: define ECB_STDFP if __STDC_IEC_559__? |
|
|
17 | |
15 | |
18 | TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/ |
16 | TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/ |
19 | |
17 | |
20 | implement is_constant for c11: https://gustedt.wordpress.com/2013/08/22/testing-compile-time-constness-and-null-pointers-with-c11s-_generic/ |
18 | implement is_constant for c11: https://gustedt.wordpress.com/2013/08/22/testing-compile-time-constness-and-null-pointers-with-c11s-_generic/ |
21 | |
19 | |