summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan-Arve Sæther <jan-arve.saether@nokia.com>2009-12-04 15:41:59 (GMT)
committerJan-Arve Sæther <jan-arve.saether@nokia.com>2009-12-04 15:41:59 (GMT)
commita5c29dbf012324ac2de2f0aecd7a57b37a499ce9 (patch)
tree3b4fe806e59b9c004fa9c063e78fdbed297d0928 /src
parent452a938862c74f64ebc93fcf82fedd476f0e7bd7 (diff)
parent2e3ecbb0b401aa29d4bbc2fe5df8cfb9f541a693 (diff)
downloadQt-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.cpp12
-rw-r--r--src/corelib/kernel/qobject.h4
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;