summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/global/qglobal.cpp9
-rw-r--r--src/corelib/global/qglobal.h9
2 files changed, 6 insertions, 12 deletions
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 3e21d41bbb..2d5e647739 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -786,8 +786,8 @@ static_assert(sizeof(qint64) == 8, "Internal error, qint64 is misdefined");
/*! \typedef qint64
\relates <QtGlobal>
- Typedef for \c{long long int} (\c __int64 on Windows). This type
- is guaranteed to be 64-bit on all platforms supported by Qt.
+ Typedef for \c{long long int}. This type is guaranteed to be 64-bit
+ on all platforms supported by Qt.
Literals of this type can be created using the Q_INT64_C() macro:
@@ -800,9 +800,8 @@ static_assert(sizeof(qint64) == 8, "Internal error, qint64 is misdefined");
\typedef quint64
\relates <QtGlobal>
- Typedef for \c{unsigned long long int} (\c{unsigned __int64} on
- Windows). This type is guaranteed to be 64-bit on all platforms
- supported by Qt.
+ Typedef for \c{unsigned long long int}. This type is guaranteed to
+ be 64-bit on all platforms supported by Qt.
Literals of this type can be created using the Q_UINT64_C()
macro:
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index aa9f26e982..c3de245a32 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -226,12 +226,8 @@ typedef short qint16; /* 16 bit signed */
typedef unsigned short quint16; /* 16 bit unsigned */
typedef int qint32; /* 32 bit signed */
typedef unsigned int quint32; /* 32 bit unsigned */
-#if defined(Q_OS_WIN) && !defined(Q_CC_GNU)
-# define Q_INT64_C(c) c ## i64 /* signed 64 bit constant */
-# define Q_UINT64_C(c) c ## ui64 /* unsigned 64 bit constant */
-typedef __int64 qint64; /* 64 bit signed */
-typedef unsigned __int64 quint64; /* 64 bit unsigned */
-#else
+// Unlike LL / ULL in C++, for historical reasons, we force the
+// result to be of the requested type.
#ifdef __cplusplus
# define Q_INT64_C(c) static_cast<long long>(c ## LL) /* signed 64 bit constant */
# define Q_UINT64_C(c) static_cast<unsigned long long>(c ## ULL) /* unsigned 64 bit constant */
@@ -241,7 +237,6 @@ typedef unsigned __int64 quint64; /* 64 bit unsigned */
#endif
typedef long long qint64; /* 64 bit signed */
typedef unsigned long long quint64; /* 64 bit unsigned */
-#endif
typedef qint64 qlonglong;
typedef quint64 qulonglong;