summaryrefslogtreecommitdiffstats
path: root/src/corelib/global/qnumeric.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/global/qnumeric.h')
-rw-r--r--src/corelib/global/qnumeric.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/global/qnumeric.h b/src/corelib/global/qnumeric.h
index 9ecbbc712a..2238c13da0 100644
--- a/src/corelib/global/qnumeric.h
+++ b/src/corelib/global/qnumeric.h
@@ -8,7 +8,9 @@
#pragma qt_class(QtNumeric)
#endif
-#include <QtCore/qglobal.h>
+#include <QtCore/qtconfigmacros.h>
+#include <QtCore/qtcoreexports.h>
+#include <QtCore/qtypes.h>
#include <cmath>
#include <limits>
@@ -317,6 +319,8 @@ template <typename T, T V2> bool qMulOverflow(T v1, std::integral_constant<T, V2
template <auto V2, typename T> bool qMulOverflow(T v1, T *r)
{
+ if constexpr (V2 == 2)
+ return qAddOverflow(v1, v1, r);
return qMulOverflow(v1, std::integral_constant<T, V2>{}, r);
}