Clang 18.x was meant to implement __cpuidex (a version was merged
during the development of Clang 17.x, but it was reverted and backed
out before Clang 17.x was completed) - however it was never merged
before Clang 18.x was branched after all. For further history of
the earlier changes within mingw-w64, see
0605217f5d60257a53ec875e2e4ff36a3e14f825 and
2b6c9247613aa830374e3686e09d3b8d582a92a6.

Postpone this change to Clang 19 for now.

This fixes building software that uses __cpuidex with Clang 18.

Hopefully it can either be merged in Clang well in advance before
Clang 19 gets branched, or this issue revisited again long before
that.

Signed-off-by: Martin Storsjö <mar...@martin.st>
---
 mingw-w64-headers/include/psdk_inc/intrin-impl.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mingw-w64-headers/include/psdk_inc/intrin-impl.h 
b/mingw-w64-headers/include/psdk_inc/intrin-impl.h
index 97cfaf2e3..b30e0404b 100644
--- a/mingw-w64-headers/include/psdk_inc/intrin-impl.h
+++ b/mingw-w64-headers/include/psdk_inc/intrin-impl.h
@@ -2023,7 +2023,7 @@ void __cpuid(int CPUInfo[4], int InfoType) {
 #define __INTRINSIC_DEFINED___cpuid
 #endif /* __INTRINSIC_PROLOG */
 
-#if (!defined(__GNUC__) || __GNUC__ < 11) && (!defined(__clang__) || 
__clang_major__ < 18)
+#if (!defined(__GNUC__) || __GNUC__ < 11) && (!defined(__clang__) || 
__clang_major__ < 19)
 #if __INTRINSIC_PROLOG(__cpuidex)
 void __cpuidex(int CPUInfo[4], int, int);
 #if !__has_builtin(__cpuidex)
-- 
2.34.1



_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to