Differences From
Artifact [ded1289884]:
85 85 # define KVstd c++
86 86 # if (__cplusplus >= 201103L)
87 87 # define KFstd_cpp11
88 88 # define KVstd c++11
89 89 # endif /* TODO: add more */
90 90 # endif
91 91 #endif
92 +
93 +#ifdef KFstd_c11
94 +# define Kassert _Static_assert
95 +#else
96 +# define Kassert(x) { struct { int assertion_failed[(x) ? 1 : -1] }; }
97 +#endif
92 98
93 99 /* hooo boy. null. that one's got a storied
94 100 * history across the versions and dialects.
95 101 * below, we try to find the ideal way to
96 102 * offer a "null" "keyword" depending on
97 103 * dialect, version, and whether the user
98 104 * has asked for macros to be suspended.
................................................................................
117 123 # define noreturn [[ noreturn ]]
118 124 #elif __STDC_VERSION__ >= 201103L
119 125 # define noreturn _Noreturn
120 126 #else
121 127 # define noreturn
122 128 #endif
123 129
124 -noreturn void kstop(longstat code);
130 +noreturn void kstop(stat_long code);
125 131
126 132 #ifdef KFclean
127 133 # undef noreturn
128 134 #endif
129 135
130 136 #endif