From 63261115e4ec6a9a201aa36f5a541311c8ee1c3b Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 10 Jun 2026 11:47:35 +0200 Subject: [PATCH v4 3/5] Drop support for _MSC_VER less than 1933 Commit aa7c8685234 added a workaround for _MSC_VER less than 1933, which is Visual Studio 2022 version 17.3. Since we dropped support for Visual Studio before 2022, and the versions up to 17.3 are long EOL, we can drop this extra code. Discussion: https://www.postgresql.org/message-id/flat/CA+hUKGL7trhWiJ4qxpksBztMMTWDyPnP1QN+Lq341V7QL775DA@mail.gmail.com --- src/include/c.h | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/include/c.h b/src/include/c.h index dd90156eb3f..80748718a86 100644 --- a/src/include/c.h +++ b/src/include/c.h @@ -1022,24 +1022,10 @@ pg_noreturn extern void ExceptionalCondition(const char *conditionName, * rationale for the precise behavior of this implementation. See * about the C++ * implementation. - * - * For compilers that don't support this, we fall back on a kluge that assumes - * the compiler will complain about a negative width for a struct bit-field. - * This will not include a helpful error message, but it beats not getting an - * error at all. */ #ifndef __cplusplus -#if !defined(_MSC_VER) || _MSC_VER >= 1933 #define StaticAssertExpr(condition, errmessage) \ ((void) sizeof(struct {static_assert(condition, errmessage); char a;})) -#else /* _MSC_VER < 1933 */ -/* - * This compiler is buggy and fails to compile the previous variant; use a - * fallback implementation. - */ -#define StaticAssertExpr(condition, errmessage) \ - ((void) sizeof(struct { int static_assert_failure : (condition) ? 1 : -1; })) -#endif /* _MSC_VER < 1933 */ #else /* __cplusplus */ #define StaticAssertExpr(condition, errmessage) \ ([]{static_assert(condition, errmessage);}) -- 2.54.0