summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qloggingcategory.h
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@qt.io>2019-03-13 21:47:27 +0100
committerKai Koehne <kai.koehne@qt.io>2019-03-14 17:15:53 +0000
commit097bf6fdd234ca7e5707610edfd3c804b3ba2a52 (patch)
treef12fa23865ccced59aa296bcb577c36e614f1ee2 /src/corelib/io/qloggingcategory.h
parentb8d5e0b4ce2f1daef35dad38f5048040ae915412 (diff)
Fix compilation of qCDebug("", ...) with QT_NO_DEBUG_OUTPUT
... and fix QT_NO_INFO_OUTPUT, QT_NO_WARNING_OUTPUT alongside. Fixes: QTBUG-74359 Change-Id: I2167dc943ae8c52602e08e24ca815d95f82a5db8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/io/qloggingcategory.h')
-rw-r--r--src/corelib/io/qloggingcategory.h49
1 files changed, 33 insertions, 16 deletions
diff --git a/src/corelib/io/qloggingcategory.h b/src/corelib/io/qloggingcategory.h
index 489e250087..91e3144300 100644
--- a/src/corelib/io/qloggingcategory.h
+++ b/src/corelib/io/qloggingcategory.h
@@ -120,15 +120,30 @@ private:
return category; \
}
-#define qCDebug(category, ...) \
+#if !defined(QT_NO_DEBUG_OUTPUT)
+# define qCDebug(category, ...) \
for (bool qt_category_enabled = category().isDebugEnabled(); qt_category_enabled; qt_category_enabled = false) \
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).debug(__VA_ARGS__)
-#define qCInfo(category, ...) \
+#else
+# define qCDebug(category, ...) QT_NO_QDEBUG_MACRO()
+#endif
+
+#if !defined(QT_NO_INFO_OUTPUT)
+# define qCInfo(category, ...) \
for (bool qt_category_enabled = category().isInfoEnabled(); qt_category_enabled; qt_category_enabled = false) \
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).info(__VA_ARGS__)
-#define qCWarning(category, ...) \
+#else
+# define qCInfo(category, ...) QT_NO_QDEBUG_MACRO()
+#endif
+
+#if !defined(QT_NO_WARNING_OUTPUT)
+# define qCWarning(category, ...) \
for (bool qt_category_enabled = category().isWarningEnabled(); qt_category_enabled; qt_category_enabled = false) \
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).warning(__VA_ARGS__)
+#else
+# define qCWarning(category, ...) QT_NO_QDEBUG_MACRO()
+#endif
+
#define qCCritical(category, ...) \
for (bool qt_category_enabled = category().isCriticalEnabled(); qt_category_enabled; qt_category_enabled = false) \
QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, category().categoryName()).critical(__VA_ARGS__)
@@ -144,26 +159,28 @@ private:
}
// check for enabled category inside QMessageLogger.
-#define qCDebug qDebug
-#define qCInfo qInfo
-#define qCWarning qWarning
-#define qCCritical qCritical
-
-#endif // Q_COMPILER_VARIADIC_MACROS || defined(Q_MOC_RUN)
-
-#if defined(QT_NO_DEBUG_OUTPUT)
-# undef qCDebug
+#if !defined(QT_NO_DEBUG_OUTPUT)
+# define qCDebug qDebug
+#else
# define qCDebug(category) QT_NO_QDEBUG_MACRO()
#endif
-#if defined(QT_NO_INFO_OUTPUT)
-# undef qCInfo
+
+#if !defined(QT_NO_INFO_OUTPUT)
+# define qCInfo qInfo
+#else
# define qCInfo(category) QT_NO_QDEBUG_MACRO()
#endif
-#if defined(QT_NO_WARNING_OUTPUT)
-# undef qCWarning
+
+#if !defined(QT_NO_WARNING_OUTPUT)
+# define qCWarning qWarning
+#else
# define qCWarning(category) QT_NO_QDEBUG_MACRO()
#endif
+#define qCCritical qCritical
+
+#endif // Q_COMPILER_VARIADIC_MACROS || defined(Q_MOC_RUN)
+
QT_END_NAMESPACE
#endif // QLOGGINGCATEGORY_H