summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread/qmutex.h
diff options
context:
space:
mode:
authorMartin Smith <martin.smith@qt.io>2016-11-29 11:43:40 +0100
committerMartin Smith <martin.smith@qt.io>2017-01-06 20:18:19 +0000
commit9605f4f47bf4b628aa2b316617178b7b123456d3 (patch)
tree008b979c34b98fe925258fa83a3a2bae4a2c5c3c /src/corelib/thread/qmutex.h
parent0e810e27a5e5a6c2e244ca439fbdf4f4ccc5b3da (diff)
doc: clangqdoc documents the threads case
qmutex.h is updated to let clangqdoc document the threads case, because the no-threads case is not interesting, and clang can handle everything declared in qmutex.h. This change required that a few minor qdoc errors be corrected in qmutex.cpp as well. Change-Id: Icb4122f2179d6aad39dc68376498364820143297 Reviewed-by: Martin Smith <martin.smith@qt.io>
Diffstat (limited to 'src/corelib/thread/qmutex.h')
-rw-r--r--src/corelib/thread/qmutex.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/corelib/thread/qmutex.h b/src/corelib/thread/qmutex.h
index 056ebdeaa5..12987f16c3 100644
--- a/src/corelib/thread/qmutex.h
+++ b/src/corelib/thread/qmutex.h
@@ -54,7 +54,7 @@ class tst_QMutex;
QT_BEGIN_NAMESPACE
-#if !defined(QT_NO_THREAD) && !defined(Q_QDOC)
+#if !defined(QT_NO_THREAD) || defined(Q_CLANG_QDOC)
#ifdef Q_OS_LINUX
# define QT_MUTEX_LOCK_NOEXCEPT Q_DECL_NOTHROW
@@ -189,6 +189,7 @@ private:
class Q_CORE_EXPORT QMutexLocker
{
public:
+#ifndef Q_CLANG_QDOC
inline explicit QMutexLocker(QBasicMutex *m) QT_MUTEX_LOCK_NOEXCEPT
{
Q_ASSERT_X((reinterpret_cast<quintptr>(m) & quintptr(1u)) == quintptr(0),
@@ -200,6 +201,9 @@ public:
val |= 1;
}
}
+#else
+ QMutexLocker(QMutex *) { }
+#endif
inline ~QMutexLocker() { unlock(); }
inline void unlock() Q_DECL_NOTHROW
@@ -240,7 +244,7 @@ private:
quintptr val;
};
-#else // QT_NO_THREAD or Q_QDOC
+#else // QT_NO_THREAD && !Q_CLANG_QDOC
class Q_CORE_EXPORT QMutex
{
@@ -255,7 +259,7 @@ public:
inline void unlock() Q_DECL_NOTHROW {}
inline bool isRecursive() const Q_DECL_NOTHROW { return true; }
-#if QT_HAS_INCLUDE(<chrono>) || defined(Q_QDOC)
+#if QT_HAS_INCLUDE(<chrono>)
template <class Rep, class Period>
inline bool try_lock_for(std::chrono::duration<Rep, Period> duration) Q_DECL_NOTHROW
{
@@ -291,7 +295,7 @@ private:
typedef QMutex QBasicMutex;
-#endif // QT_NO_THREAD or Q_QDOC
+#endif // QT_NO_THREAD && !Q_CLANG_QDOC
QT_END_NAMESPACE