From 10fc9745f959e2c4863c85c0a0aa40221297c026 Mon Sep 17 00:00:00 2001 From: Kevin Newton Date: Tue, 14 Jul 2026 11:59:03 -0400 Subject: [PATCH] Fix assume warning That attribute is C++23, not C23 --- include/prism/compiler/assume.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/prism/compiler/assume.h b/include/prism/compiler/assume.h index 500e93e73c..256e3873b8 100644 --- a/include/prism/compiler/assume.h +++ b/include/prism/compiler/assume.h @@ -10,12 +10,12 @@ * range analysis so it can prune impossible paths. Use it to communicate an * invariant the caller guarantees but that the compiler cannot otherwise prove. */ -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L /* C23 or later */ - #define PRISM_ASSUME(expr_) [[assume(expr_)]] -#elif defined(__clang__) +#if defined(__clang__) #define PRISM_ASSUME(expr_) __builtin_assume(expr_) #elif defined(_MSC_VER) #define PRISM_ASSUME(expr_) __assume(expr_) +#elif defined(__GNUC__) && (__GNUC__ >= 13) + #define PRISM_ASSUME(expr_) __attribute__((assume(expr_))) #elif defined(__GNUC__) #define PRISM_ASSUME(expr_) ((expr_) ? (void) 0 : __builtin_unreachable()) #else