summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
diff options
context:
space:
mode:
authorKai Köhne <kai.koehne@qt.io>2022-06-21 16:20:08 +0200
committerKai Köhne <kai.koehne@qt.io>2022-06-23 01:30:23 +0200
commitbc06e345fe6e284e4dc72f3e02662641dcb9ed71 (patch)
tree1179ebb82cde5ef22942b3043d7b49152ae628a3 /src/corelib/global
parentf921b42f34f254ca7066691f3cf4a1c7270f0161 (diff)
Use [[noreturn]] attribute
Use __has_cpp_attribute mechanism to check availability of [[noreturn]]. For MSVC 2019 and 2022, this is always the case, so we can also remove the (now dead) __declpsec(noreturn) definition. Pick-to: 6.4 Change-Id: Ie7b39bd93bc5e1a173e245a3a5d5ff7e9067a59f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/global')
-rw-r--r--src/corelib/global/qcompilerdetection.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h
index dc366421a3..c3b0611018 100644
--- a/src/corelib/global/qcompilerdetection.h
+++ b/src/corelib/global/qcompilerdetection.h
@@ -60,7 +60,6 @@
# define Q_FUNC_INFO __FUNCSIG__
# define Q_ASSUME_IMPL(expr) __assume(expr)
# define Q_UNREACHABLE_IMPL() __assume(0)
-# define Q_NORETURN __declspec(noreturn)
# define Q_DECL_EXPORT __declspec(dllexport)
# define Q_DECL_IMPORT __declspec(dllimport)
# define QT_MAKE_UNCHECKED_ARRAY_ITERATOR(x) stdext::make_unchecked_array_iterator(x) // Since _MSC_VER >= 1800
@@ -928,6 +927,11 @@
# define Q_DECL_UNUSED [[maybe_unused]]
#endif
+#if __has_cpp_attribute(noreturn)
+# undef Q_NORETURN
+# define Q_NORETURN [[noreturn]]
+#endif
+
#if __has_cpp_attribute(deprecated)
# ifdef Q_DECL_DEPRECATED
# undef Q_DECL_DEPRECATED