diff options
author | Marc Mutz <marc.mutz@qt.io> | 2022-01-31 17:19:06 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@qt.io> | 2022-03-26 17:15:02 +0100 |
commit | 80b6bcc385863a38d499685af9b8e857e46cbdba (patch) | |
tree | 252b745a2b8dd617224f49cf89139cd5baef317c /src/network | |
parent | edb64351cd0896d27af15d54d5fa868c7567eced (diff) |
Short live Q_CONSTINIT!
It expands to the first available of
- constinit (C++20)
- [[clang::require_constant_initialization]] (Clang)
- __constinit (GCC >= 10)
Use it around the code (on and near static QBasicAtomic; this patch
makes no attempt to find all statics in qtbase).
[ChangeLog][QtCore][QtGlobal] Added macro Q_CONSTINIT.
Fixes: QTBUG-100484
Change-Id: I11e0363a7acb3464476859d12ec7f94319d82be7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/network')
-rw-r--r-- | src/network/access/qnetworkaccessmanager.cpp | 2 | ||||
-rw-r--r-- | src/network/kernel/qauthenticator.cpp | 2 | ||||
-rw-r--r-- | src/network/kernel/qnetworkinformation.cpp | 2 | ||||
-rw-r--r-- | src/network/ssl/qtlsbackend.cpp | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index e1d978af11..29b6eddc80 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -1714,7 +1714,7 @@ QNetworkRequest QNetworkAccessManagerPrivate::prepareMultipart(const QNetworkReq */ void QNetworkAccessManagerPrivate::ensureBackendPluginsLoaded() { - static QBasicMutex mutex; + Q_CONSTINIT static QBasicMutex mutex; std::unique_lock locker(mutex); if (!loader()) return; diff --git a/src/network/kernel/qauthenticator.cpp b/src/network/kernel/qauthenticator.cpp index 97f4a2cba4..9b398d7079 100644 --- a/src/network/kernel/qauthenticator.cpp +++ b/src/network/kernel/qauthenticator.cpp @@ -1574,7 +1574,7 @@ static PSecurityFunctionTableW pSecurityFunctionTable = nullptr; static bool q_SSPI_library_load() { - static QBasicMutex mutex; + Q_CONSTINIT static QBasicMutex mutex; QMutexLocker l(&mutex); if (pSecurityFunctionTable == nullptr) diff --git a/src/network/kernel/qnetworkinformation.cpp b/src/network/kernel/qnetworkinformation.cpp index 836b63bd4b..626439572a 100644 --- a/src/network/kernel/qnetworkinformation.cpp +++ b/src/network/kernel/qnetworkinformation.cpp @@ -124,7 +124,7 @@ bool QNetworkInformationPrivate::initializeList() return false; if (!dataHolder()) return false; - static QBasicMutex mutex; + Q_CONSTINIT static QBasicMutex mutex; QMutexLocker initLocker(&mutex); #if QT_CONFIG(library) diff --git a/src/network/ssl/qtlsbackend.cpp b/src/network/ssl/qtlsbackend.cpp index dbfbddc379..1674c7d706 100644 --- a/src/network/ssl/qtlsbackend.cpp +++ b/src/network/ssl/qtlsbackend.cpp @@ -91,7 +91,7 @@ public: if (!loader()) return false; - static QBasicMutex mutex; + Q_CONSTINIT static QBasicMutex mutex; const QMutexLocker locker(&mutex); if (backends.size()) return true; |