summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qdatetime.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2016-05-03 10:40:06 -0700
committerThiago Macieira <thiago.macieira@intel.com>2016-06-10 17:56:23 +0000
commit6d311a23ad5c592cb9713fa343bd92e01cde4a4a (patch)
tree1c0356ef7ebd25f829c8829282f8ece23c1d4bdc /src/corelib/tools/qdatetime.cpp
parent1a161c8ede4ea8c18c1d33d97a847387ca2c770e (diff)
Stop QDateTimePrivate from inheriting QSharedData
We're going to have to stop using QSharedDataPointer because of the upcoming short-datetime-optimization. By dropping the inheritance, I am also able to rearrange the members and remove the padding hole that existed. The second padding hole was removed in the previous commit, which merged two 32-bit fields into one. On 64-bit systems, there's no way around a remaining 4-byte hole somewhere due to the odd number of 32-bit members. I chose to leave it in the middle of the struct, before the m_timeZone member, instead of tail padding, so that the layout of the first members structure are the same in bootstrapped and non-bootstrapped builds. That should help debugging the bootstrapped tools in Qt Creator. It's also now the same in 32- and in 64-bit systems. Change-Id: Id69569111e7d4e619e22ffff144b1fba708885f7 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/corelib/tools/qdatetime.cpp')
-rw-r--r--src/corelib/tools/qdatetime.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index 7be3f56d60..6ab4e3a118 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -2488,7 +2488,8 @@ QDateTimePrivate::QDateTimePrivate(const QDate &toDate, const QTime &toTime, Qt:
int offsetSeconds)
: m_msecs(0),
m_status(0),
- m_offsetFromUtc(0)
+ m_offsetFromUtc(0),
+ ref(0)
{
setTimeSpec(toSpec, offsetSeconds);
setDateTime(toDate, toTime);
@@ -2499,6 +2500,7 @@ QDateTimePrivate::QDateTimePrivate(const QDate &toDate, const QTime &toTime,
const QTimeZone &toTimeZone)
: m_status(0),
m_offsetFromUtc(0),
+ ref(0),
m_timeZone(toTimeZone)
{
setSpec(Qt::TimeZone);