From f728442be18fe5bb29afad37d1c8db8033664399 Mon Sep 17 00:00:00 2001 From: Zephyr Lykos Date: Thu, 2 Jan 2025 09:36:29 +0800 Subject: [PATCH] sumtype: detect compilers with extensions off --- include/stc/sys/sumtype.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/stc/sys/sumtype.h b/include/stc/sys/sumtype.h index ff5cef58..5779696c 100644 --- a/include/stc/sys/sumtype.h +++ b/include/stc/sys/sumtype.h @@ -106,7 +106,10 @@ int main(void) { c_EVAL(c_LOOP(_c_vartuple_var, T, __VA_ARGS__, (0),)) \ } -#if defined __GNUC__ || defined __clang__ || defined __TINYC__ || _MSC_VER >= 1939 +#if (defined(__clang__) && !__is_identifier(__typeof__)) \ + || (defined(__GNUC__) && __has_builtin(__typeof__)) \ + || defined(__TINYC__) \ + || _MSC_FULL_VER >= 193933428 #define c_when(var) \ for (__typeof__(var) _match = (var); _match; _match = NULL) \ switch (_match->_any_.tag)