diff --git a/simde/simde-common.h b/simde/simde-common.h index 31889b492..6b0935bd2 100644 --- a/simde/simde-common.h +++ b/simde/simde-common.h @@ -1034,7 +1034,7 @@ HEDLEY_DIAGNOSTIC_POP # if !HEDLEY_GCC_VERSION_CHECK(9,1,0) # define SIMDE_BUG_GCC_REV_264019 # endif -# if HEDLEY_GCC_VERSION_CHECK(15,0,0) +# if HEDLEY_GCC_VERSION_CHECK(15,0,0) && !HEDLEY_GCC_VERSION_CHECK(16,1,0) # define SIMDE_BUG_GCC_123584 # endif # if !HEDLEY_GCC_VERSION_CHECK(10,2,0) && !defined(__OPTIMIZE__) @@ -1159,7 +1159,7 @@ HEDLEY_DIAGNOSTIC_POP # if HEDLEY_HAS_WARNING("-Wvector-conversion") && SIMDE_DETECT_CLANG_VERSION_NOT(11,0,0) # define SIMDE_BUG_CLANG_44589 # endif -# if SIMDE_DETECT_CLANG_VERSION_CHECK(21,1,1) +# if SIMDE_DETECT_CLANG_VERSION_CHECK(21,1,1) && SIMDE_DETECT_CLANG_VERSION_NOT(22,1,0) # define SIMDE_BUG_CLANG_179057 # endif # define SIMDE_BUG_CLANG_48673 // https://github.com/llvm/llvm-project/issues/48017 diff --git a/simde/simde-detect-clang.h b/simde/simde-detect-clang.h index dfbb61ff4..df1a80352 100644 --- a/simde/simde-detect-clang.h +++ b/simde/simde-detect-clang.h @@ -62,9 +62,11 @@ #if defined(__clang__) && !defined(SIMDE_DETECT_CLANG_VERSION) # if __has_warning("-Wlifetime-safety") # define SIMDE_DETECT_CLANG_VERSION 230000 +# elif __has_warning("-Wunsafe-buffer-usage-in-format-attr-call") +# define SIMDE_DETECT_CLANG_VERSION 220100 # elif __has_builtin(__builtin_elementwise_fshl) # define SIMDE_DETECT_CLANG_VERSION 220000 -# elif __has_builtin(__builtin_structured_binding_size) +# elif __has_warning("-Wdefault-const-init-var") || __has_builtin(__builtin_structured_binding_size) # if __clang_major__ == 21 && __clang_minor__ >= 1 && __clang_patchlevel__ >= 1 # define SIMDE_DETECT_CLANG_VERSION 210101 // for SIMDE_BUG_CLANG_179057 # else