S(_ALL, __builtin_va_arg)
S(_ALL, __builtin_va_end)
S(_ALL, __builtin_alloca)
-S(_ALL, __builtin_nanf)
+S(_ALL, __builtin_inf)
+S(_ALL, __builtin_inff)
+S(_ALL, __builtin_infl)
S(_ALL, __builtin_nan)
-S(_ALL, __builtin_nand)
+S(_ALL, __builtin_nanf)
+S(_ALL, __builtin_nanl)
S(_ALL, __builtin_isgreater)
S(_ALL, __builtin_isgreaterequal)
S(_ALL, __builtin_isless)
S(_ALL, __builtin_huge_val)
S(_ALL, __PRETTY_FUNCTION__)
S(_ALL, __FUNCTION__)
+S(_ALL, __label__)
S(_C99, __func__)
S(_MS, __FUNCSIG__)
S(_MS, __FUNCDNAME__)
#undef S
+/* needed on Windows */
+#ifdef __w64
+#undef __w64
+#endif
+#ifdef __ptr64
+#undef __ptr64
+#endif
+
+/* needed on darwin... */
+#ifdef __signed
+#undef __signed
+#endif
+#ifdef __volatile
+#undef __volatile
+#endif
+#ifdef __const
+#undef __const
+#endif
+#ifdef __restrict
+#undef __restrict
+#endif
+
#define S(mode, x, val) T(mode, x, #x, val)
S(_ANSI|_C99, signed, )
S(_ALL, __signed, = T_signed)