MINGW-packages/mingw-w64-opencascade/0009-SSE2-detection-gcc.patch
Markus Mützel 81a82934e7 opencascade: update to 7.8.1
Refresh patches for new version.
Remove patch that is no longer needed.
Add patch to avoid error for invalid conversion of pointer types.
Avoid issue with circular dependency between OpenCASCADE and VTK.
The Tk and Tcl packages don't install static libraries.
2024-10-26 22:57:17 +02:00

38 lines
1.1 KiB
Diff

From 9858ad81f34061f7835a16d309babc9b85ffe038 Mon Sep 17 00:00:00 2001
From: ImperatorS79 <fevrier.simon@gmail.com>
Date: Thu, 24 Oct 2024 11:59:16 +0200
Subject: [PATCH] SSE2 detection gcc See
https://gcc.gnu.org/onlinedocs/gcc-4.8.2/gcc/X86-Built-in-Functions.html
---
src/Standard/Standard.cxx | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/Standard/Standard.cxx b/src/Standard/Standard.cxx
index bb06de71fd..8467bc3bd1 100644
--- a/src/Standard/Standard.cxx
+++ b/src/Standard/Standard.cxx
@@ -249,6 +249,7 @@ namespace
// if not then use MMgrRaw instead of MMgrTBBalloc.
// It is to avoid runtime crash when running on a CPU
// that supports SSE but does not support SSE2 (some modifications of AMD Sempron).
+ #if defined(_MSC_VER)
static const DWORD _SSE2_FEATURE_BIT(0x04000000);
DWORD volatile dwFeature;
_asm
@@ -270,6 +271,11 @@ namespace
}
if ((dwFeature & _SSE2_FEATURE_BIT) == 0)
anAllocId = 0;
+ #elif defined(__GNUC__)
+ __builtin_cpu_init();
+ if (__builtin_cpu_supports("sse2"))
+ anAllocId = 0;
+ #endif
}
#endif
--
2.44.0.windows.1