summaryrefslogtreecommitdiffstats
path: root/src/corelib/global
diff options
context:
space:
mode:
authorAlexey Edelev <alexey.edelev@qt.io>2021-05-14 11:37:06 +0200
committerAlexey Edelev <alexey.edelev@qt.io>2021-05-16 15:26:26 +0200
commit282b724808ea4524ed09b9f0183055fdffc3c38a (patch)
tree8872d4a74e71839e9ef6a65d00cc2d17e9444784 /src/corelib/global
parent0533695dddf9683660ad79383eb2c90532f68acb (diff)
Make qTerminate available when QT_NO_EXCEPTIONS flag is set
It seems that QtCore could only be compiled with exceptions enabled. Therefore it doesn't make sense to keep conditonal code under QT_NO_EXCEPTIONS in qglobal.cpp. qTerminate may be called whether exceptions are enabled or not. Pick-to: 6.1 Fixes: QTBUG-93739 Change-Id: Ie49c10f27cfa75360f018e8638603e6a1791450e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/global')
-rw-r--r--src/corelib/global/qglobal.cpp12
-rw-r--r--src/corelib/global/qglobal.h2
2 files changed, 3 insertions, 11 deletions
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index bc2ae0ac22..8fb835286a 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -60,10 +60,8 @@
#include <stdarg.h>
#include <string.h>
-#ifndef QT_NO_EXCEPTIONS
-# include <string>
-# include <exception>
-#endif
+#include <string>
+#include <exception>
#include <errno.h>
#if defined(Q_CC_MSVC)
@@ -3291,14 +3289,9 @@ void qt_check_pointer(const char *n, int l) noexcept
*/
void qBadAlloc()
{
-#ifndef QT_NO_EXCEPTIONS
QT_THROW(std::bad_alloc());
-#else
- std::terminate();
-#endif
}
-#ifndef QT_NO_EXCEPTIONS
/*
\internal
Allows you to call std::terminate() without including <exception>.
@@ -3308,7 +3301,6 @@ Q_NORETURN void qTerminate() noexcept
{
std::terminate();
}
-#endif
/*
The Q_ASSERT macro calls this function when the test fails.
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index b04a74e16e..52accb8031 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -935,6 +935,7 @@ inline void qt_noop(void) {}
# endif
#endif
+Q_NORETURN Q_DECL_COLD_FUNCTION Q_CORE_EXPORT void qTerminate() noexcept;
#ifdef QT_NO_EXCEPTIONS
# define QT_TRY if (true)
# define QT_CATCH(A) else
@@ -946,7 +947,6 @@ inline void qt_noop(void) {}
# define QT_CATCH(A) catch (A)
# define QT_THROW(A) throw A
# define QT_RETHROW throw
-Q_NORETURN Q_DECL_COLD_FUNCTION Q_CORE_EXPORT void qTerminate() noexcept;
# ifdef Q_COMPILER_NOEXCEPT
# define QT_TERMINATE_ON_EXCEPTION(expr) do { expr; } while (false)
# else