path: root/src/plugins/platforms/ios/qiosglobal.h
diff options
authorMarc Mutz <>2015-10-17 17:48:34 +0200
committerMarc Mutz <>2016-03-12 17:29:36 +0000
commit6417bbde8565e0be2d049426b71e6fda538e4440 (patch)
tree8e60f1edf1f8e0f07fc1e6eed23e44389bdb9a67 /src/plugins/platforms/ios/qiosglobal.h
parent8c0ae00dd603bfe5aa99b5b2db8c1ffdaa6cd45e (diff)
QtBase (remainder): use printf-style qWarning/qDebug where possible (I)
The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "" with qWarning("..."). Had to fix broken qImDebug() definition. Instead of defining it as a nullary macro in the QT_NO_DEBUG case and as a variadic macro in the other, define it in both cases, as is customary, as a non-function macro so that overload selection works without requiring variadic macro support of the compiler. Saves e.g. ~250b in text size in QtPrintSupport on optimized GCC 5.3 AMD64 builds. Change-Id: Ie30fe2f7942115d5dbf99fff1750ae0d477c379f Reviewed-by: Kai Koehne <>
Diffstat (limited to 'src/plugins/platforms/ios/qiosglobal.h')
1 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/platforms/ios/qiosglobal.h b/src/plugins/platforms/ios/qiosglobal.h
index 06ebf4809c..0fe81ceb91 100644
--- a/src/plugins/platforms/ios/qiosglobal.h
+++ b/src/plugins/platforms/ios/qiosglobal.h
@@ -50,11 +50,11 @@ QT_BEGIN_NAMESPACE
#if !defined(QT_NO_DEBUG)
-#define qImDebug(...) \
+#define qImDebug \
for (bool qt_category_enabled = lcQpaInputMethods().isDebugEnabled(); qt_category_enabled; qt_category_enabled = false) \
- QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, lcQpaInputMethods().categoryName()).debug(__VA_ARGS__)
+ QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, lcQpaInputMethods().categoryName()).debug
-#define qImDebug() QT_NO_QDEBUG_MACRO()
+#define qImDebug QT_NO_QDEBUG_MACRO
class QPlatformScreen;