diff --git a/libc/utils/FPUtil/x86_64/FEnv.h b/libc/utils/FPUtil/x86_64/FEnv.h --- a/libc/utils/FPUtil/x86_64/FEnv.h +++ b/libc/utils/FPUtil/x86_64/FEnv.h @@ -91,12 +91,16 @@ uint16_t StatusWord; uint16_t Unused2; // TODO: Elaborate the remaining 20 bytes as required. + #if !(defined(_WIN32) || defined(_WIN64)) uint32_t _[5]; + #endif }; struct FPState { X87StateDescriptor X87Status; + #if !(defined(_WIN32) || defined(_WIN64)) uint32_t MXCSR; + #endif }; static_assert( @@ -346,6 +350,7 @@ return 0; } +#if !(defined(_WIN32) || defined(_WIN64)) static inline int getEnv(fenv_t *envp) { internal::FPState *state = reinterpret_cast(envp); internal::getX87StateDescriptor(state->X87Status); @@ -360,6 +365,7 @@ internal::writeMXCSR(state->MXCSR); return 0; } +#endif } // namespace fputil } // namespace __llvm_libc