summaryrefslogtreecommitdiff
path: root/src/libs
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2023-05-10 20:25:05 +0200
committerJarek Kobus <jaroslaw.kobus@qt.io>2023-05-12 08:09:30 +0000
commita1792c653ebeaa251523bddc0e66dbda70551bf7 (patch)
tree11a4bf4455a8142c223f56c965a60f34521a6686 /src/libs
parentfe470d60a2c9a4ccae07a4acd87d8d1a9fb696bb (diff)
downloadqt-creator-a1792c653ebeaa251523bddc0e66dbda70551bf7.tar.gz
TaskTree: Prepare for de-utils-ization - part 4
Add internal implementation for qtcassert.{c,h}. Change-Id: I646b302be2f86e32e91c8c6fafa7b799e48773c2 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/utils/barrier.cpp9
-rw-r--r--src/libs/utils/tasktree.cpp9
2 files changed, 14 insertions, 4 deletions
diff --git a/src/libs/utils/barrier.cpp b/src/libs/utils/barrier.cpp
index 690391cb0f..c4daa033b4 100644
--- a/src/libs/utils/barrier.cpp
+++ b/src/libs/utils/barrier.cpp
@@ -3,10 +3,15 @@
#include "barrier.h"
-#include "qtcassert.h"
-
namespace Tasking {
+// That's cut down qtcassert.{c,h} to avoid the dependency.
+#define QTC_STRINGIFY_HELPER(x) #x
+#define QTC_STRINGIFY(x) QTC_STRINGIFY_HELPER(x)
+#define QTC_STRING(cond) qDebug("SOFT ASSERT: \"%s\" in %s: %s", cond, __FILE__, QTC_STRINGIFY(__LINE__))
+#define QTC_ASSERT(cond, action) if (Q_LIKELY(cond)) {} else { QTC_STRING(#cond); action; } do {} while (0)
+#define QTC_CHECK(cond) if (cond) {} else { QTC_STRING(#cond); } do {} while (0)
+
void Barrier::setLimit(int value)
{
QTC_ASSERT(!isRunning(), return);
diff --git a/src/libs/utils/tasktree.cpp b/src/libs/utils/tasktree.cpp
index 2c88546e6c..75de54c374 100644
--- a/src/libs/utils/tasktree.cpp
+++ b/src/libs/utils/tasktree.cpp
@@ -3,12 +3,17 @@
#include "tasktree.h"
-#include "qtcassert.h"
-
#include <QSet>
namespace Tasking {
+// That's cut down qtcassert.{c,h} to avoid the dependency.
+#define QTC_STRINGIFY_HELPER(x) #x
+#define QTC_STRINGIFY(x) QTC_STRINGIFY_HELPER(x)
+#define QTC_STRING(cond) qDebug("SOFT ASSERT: \"%s\" in %s: %s", cond, __FILE__, QTC_STRINGIFY(__LINE__))
+#define QTC_ASSERT(cond, action) if (Q_LIKELY(cond)) {} else { QTC_STRING(#cond); action; } do {} while (0)
+#define QTC_CHECK(cond) if (cond) {} else { QTC_STRING(#cond); } do {} while (0)
+
class Guard
{
Q_DISABLE_COPY(Guard)