From a55bc3da20894947d762b8805d279dbc4ec4473b Mon Sep 17 00:00:00 2001 From: Jan-Arve Saether Date: Mon, 21 May 2012 10:51:18 +0200 Subject: [PATCH] Get rid of ambiguous overload for xgetbv. The patch that broke this was assuming the signature of xgetbv was _xgetbv(int). This lead to that there were no exact match for the function resolver, thus the ambiguity. Apparently, the signature of _xgetbv is _xgetbv(unsigned int). Changing the static xgetbv to uint makes the match exact, thus no more ambiguity. Change-Id: I8db95e00a9fef264d7a1f84d02bb929db84e6e5a Reviewed-by: Thiago Macieira Reviewed-by: Miikka Heikkinen --- src/corelib/tools/qsimd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index 821de8d3ee..dacff0fe87 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -235,10 +235,10 @@ static void cpuidFeatures07_00(uint &ebx) } #ifdef Q_OS_WIN +// fallback overload in case this intrinsic does not exist: unsigned __int64 _xgetbv(unsigned int); inline quint64 _xgetbv(__int64) { return 0; } #endif - -static void xgetbv(int in, uint &eax, uint &edx) +static void xgetbv(uint in, uint &eax, uint &edx) { #ifdef Q_OS_WIN quint64 result = _xgetbv(in);