diff options
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qobjectdefs.h | 9 | ||||
-rw-r--r-- | src/corelib/thread/qthread_unix.cpp | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index 4b3829b53e..5588724d4c 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -140,6 +140,13 @@ template <typename T1, typename T2> inline void qYouForgotTheQ_OBJECT_Macro(T1, T2) {} #endif // QT_NO_QOBJECT_CHECK +#if defined(Q_CC_INTEL) +// Cannot redefine the visibility of a method in an exported class +# define Q_DECL_HIDDEN_STATIC_METACALL +#else +# define Q_DECL_HIDDEN_STATIC_METACALL Q_DECL_HIDDEN +#endif + /* tmake ignore Q_OBJECT */ #define Q_OBJECT \ public: \ @@ -151,7 +158,7 @@ public: \ virtual int qt_metacall(QMetaObject::Call, int, void **); \ private: \ Q_DECL_HIDDEN static const QMetaObjectExtraData staticMetaObjectExtraData; \ - Q_DECL_HIDDEN static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); + Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); /* tmake ignore Q_OBJECT */ #define Q_OBJECT_FAKE Q_OBJECT diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp index a0913e5dbc..21ed8131df 100644 --- a/src/corelib/thread/qthread_unix.cpp +++ b/src/corelib/thread/qthread_unix.cpp @@ -90,7 +90,7 @@ # endif #endif -#if defined(Q_OS_LINUX) +#if defined(Q_OS_LINUX) && !defined(QT_LINUXBASE) #include <sys/prctl.h> #endif @@ -110,7 +110,8 @@ QT_BEGIN_NAMESPACE enum { ThreadPriorityResetFlag = 0x80000000 }; -#if defined(Q_OS_LINUX) && defined(__GLIBC__) && (defined(Q_CC_GNU) || defined(Q_CC_INTEL)) +#if defined(Q_OS_LINUX) && defined(__GLIBC__) && (defined(Q_CC_GNU) || defined(Q_CC_INTEL)) && !defined(QT_LINUXBASE) +/* LSB doesn't have __thread, https://lsbbugs.linuxfoundation.org/show_bug.cgi?id=993 */ #define HAVE_TLS #endif #if defined(Q_CC_XLC) || defined (Q_CC_SUN) @@ -294,7 +295,7 @@ void *QThreadPrivate::start(void *arg) if (objectName.isEmpty()) objectName = thr->metaObject()->className(); -#if defined(Q_OS_LINUX) +#if defined(Q_OS_LINUX) && !defined(QT_LINUXBASE) prctl(PR_SET_NAME, (unsigned long)objectName.constData(), 0, 0, 0); #elif defined(Q_OS_MAC) pthread_setname_np(objectName.constData()); |