-T(_C99|_GNUC, _Complex, "_Complex",)
-T(_GNUC, __complex__, "__complex__", = T__Complex)
-T(_GNUC, __complex, "__complex", = T__Complex)
-T(_C99|_GNUC, _Imaginary, "_Imaginary",)
-T(_GNUC, __real__, "__real__",)
-T(_GNUC, __real, "__real", = T___real__)
-T(_GNUC, __imag__, "__imag__",)
-T(_GNUC, __imag, "__imag", = T___imag__)
-T(_GNUC|_MS, __alignof__, "__alignof__",)
-T(_GNUC|_MS, __alignof, "__alignof", = T___alignof__)
-T(_MS, _alignof, "_alignof", = T___alignof__)
-T(_ANSI|_C99, const, "const",)
-T(_GNUC, __const, "__const", = T_const)
-T(_C99, restrict, "restrict",)
-T(_GNUC, __restrict__, "__restrict__", = T_restrict)
-T(_GNUC, __restrict, "__restrict", = T_restrict)
-T(_MS, _restrict, "_restrict", = T_restrict)
-T(_ALL, asm, "asm",)
-T(_GNUC, __asm__, "__asm__", = T_asm)
-T(_MS, _asm, "_asm", = T_asm)
-T(_GNUC|_MS, __asm, "__asm", = T_asm)
-T(_ANSI|_C99, volatile, "volatile",)
-T(_GNUC, __volatile__, "__volatile__", = T_volatile)
-T(_C99, inline, "inline",)
-T(_GNUC|_MS, __inline, "__inline", = T_inline)
-T(_GNUC, __inline__, "__inline__", = T_inline)
-T(_GNUC, typeof, "typeof",)
-T(_GNUC, __typeof, "__typeof", = T_typeof)
-T(_GNUC, __typeof__, "__typeof__", = T_typeof)
-T(_GNUC, __attribute__, "__attribute__",)
+#define S(mode, x, val) T(mode, T_##x, #x, val)
+S(_C99, __func__,)
+S(_ALL, __FUNCTION__, = T___func__)
+S(_C11, _Thread_local, )
+S(_ALL, __thread, = T__Thread_local)
+S(_ALL, signed, )
+S(_ALL, __signed, = T_signed)
+S(_ALL, __signed__, = T_signed)
+S(_C99|_GNUC, _Complex, )
+S(_ALL, __complex__, = T__Complex)
+S(_ALL, __complex, = T__Complex)
+S(_C99|_GNUC, _Imaginary, )
+S(_ALL, __real__, )
+S(_ALL, __real, = T___real__)
+S(_ALL, __imag__, )
+S(_ALL, __imag, = T___imag__)
+S(_C11, _Alignof, )
+S(_ALL, __alignof__, = T__Alignof)
+S(_ALL, __alignof, = T__Alignof)
+S(_MS, _alignof, = T__Alignof)
+S(_ALL, const, )
+S(_ALL, __const, = T_const)
+S(_ALL, __const__, = T_const)
+S(_C99, restrict, )
+S(_ALL, __restrict__, = T_restrict)
+S(_ALL, __restrict, = T_restrict)
+S(_MS, _restrict, = T_restrict)
+S(_ALL, asm, )
+S(_ALL, __asm__, = T_asm)
+S(_MS, _asm, = T_asm)
+S(_ALL, __asm, = T_asm)
+S(_ALL, volatile, )
+S(_ALL, __volatile, = T_volatile)
+S(_ALL, __volatile__, = T_volatile)
+S(_C99|_CXX|_GNUC, inline, )
+S(_ALL, __inline, = T_inline)
+S(_ALL, __inline__, = T_inline)
+S(_GNUC, typeof, )
+S(_ALL, __typeof, = T_typeof)
+S(_ALL, __typeof__, = T_typeof)
+S(_ALL, __attribute__, )