From de3a6706e7ea508024ccd63a4b7993931b4354d6 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Mon, 4 Nov 2024 16:28:56 +0200 Subject: [PATCH] [UCRT] fenv.h: Fix GCC build of _Fenv1 --- sdk/include/ucrt/fenv.h | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/sdk/include/ucrt/fenv.h b/sdk/include/ucrt/fenv.h index 6384e4697b5..37e0ecd4110 100644 --- a/sdk/include/ucrt/fenv.h +++ b/sdk/include/ucrt/fenv.h @@ -64,12 +64,17 @@ _ACRTIMP int __cdecl fesetround(_In_ int _Round); // initialized, indicating no exceptions are masked. In the current // implementation (_Fenv1), the global variable is initialized with all // exceptions masked, which is the actual initial environment. - #if defined _M_IX86 - __declspec(selectany) extern const fenv_t _Fenv1 = { 0x3f3f103f, 0 }; - #elif defined _M_X64 - __declspec(selectany) extern const fenv_t _Fenv1 = { 0x3f00003f, 0 }; + #ifdef __cplusplus + #define CPP_EXTERN extern #else - __declspec(selectany) extern const fenv_t _Fenv1 = { 0x0000003f, 0 }; + #define CPP_EXTERN + #endif + #if defined _M_IX86 + CPP_EXTERN __declspec(selectany) const fenv_t _Fenv1 = { 0x3f3f103f, 0 }; + #elif defined _M_X64 + CPP_EXTERN __declspec(selectany) const fenv_t _Fenv1 = { 0x3f00003f, 0 }; + #else + CPP_EXTERN __declspec(selectany) const fenv_t _Fenv1 = { 0x0000003f, 0 }; #endif #endif