diff options
author | Jan-Arve Sæther <jan-arve.saether@nokia.com> | 2009-12-04 15:41:59 (GMT) |
---|---|---|
committer | Jan-Arve Sæther <jan-arve.saether@nokia.com> | 2009-12-04 15:41:59 (GMT) |
commit | a5c29dbf012324ac2de2f0aecd7a57b37a499ce9 (patch) | |
tree | 3b4fe806e59b9c004fa9c063e78fdbed297d0928 /src | |
parent | 452a938862c74f64ebc93fcf82fedd476f0e7bd7 (diff) | |
parent | 2e3ecbb0b401aa29d4bbc2fe5df8cfb9f541a693 (diff) | |
download | Qt-a5c29dbf012324ac2de2f0aecd7a57b37a499ce9.zip Qt-a5c29dbf012324ac2de2f0aecd7a57b37a499ce9.tar.gz Qt-a5c29dbf012324ac2de2f0aecd7a57b37a499ce9.tar.bz2 |
Merge branch 'win32-icc' into 4.6
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 12 | ||||
-rw-r--r-- | src/corelib/kernel/qobject.h | 4 |
2 files changed, 4 insertions, 12 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 4321c59..30cd011 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -153,15 +153,6 @@ QObjectPrivate::QObjectPrivate(int version) hasGuards = false; } -#ifdef Q_CC_INTEL -/* Workaround for a bug in win32-icc where it seems to inline ~QObjectPrivate too aggressive. - When icc compiles QtGui, it inlines ~QObjectPrivate so that it would generate a call to - ~QObjectData. However, ~QObjectData is not exported from QtCore, so it does not link. - See also QTBUG-5145 for info on how this manifested itself. - */ -# pragma auto_inline(off) -#endif - QObjectPrivate::~QObjectPrivate() { delete static_cast<QAbstractDynamicMetaObject*>(metaObject); @@ -173,9 +164,6 @@ QObjectPrivate::~QObjectPrivate() delete extraData; #endif } -#ifdef Q_CC_INTEL -# pragma auto_inline(on) -#endif int *QObjectPrivate::setDeleteWatch(QObjectPrivate *d, int *w) { diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 340498f..68475e5 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -91,7 +91,11 @@ template<typename T> inline QList<T> qFindChildren(const QObject *, const QRegEx # endif #endif +#if defined(__INTEL_COMPILER) && defined(Q_OS_WIN) +class Q_CORE_EXPORT QObjectData { +#else class QObjectData { +#endif public: virtual ~QObjectData() = 0; QObject *q_ptr; |