diff options
-rw-r--r-- | src/corelib/global/qglobal.h | 13 | ||||
-rw-r--r-- | src/corelib/global/qlogging.h | 49 | ||||
-rw-r--r-- | src/corelib/tools/qstring.h | 20 |
3 files changed, 20 insertions, 62 deletions
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 3c3d35e373..9e2dce6d8c 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -462,6 +462,19 @@ typedef qptrdiff qintptr; # define QT_FASTCALL #endif +// enable gcc warnings for printf-style functions +#if defined(Q_CC_GNU) && !defined(__INSURE__) +# if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG) +# define Q_ATTRIBUTE_FORMAT_PRINTF(A, B) \ + __attribute__((format(gnu_printf, (A), (B)))) +# else +# define Q_ATTRIBUTE_FORMAT_PRINTF(A, B) \ + __attribute__((format(printf, (A), (B)))) +# endif +#else +# define Q_ATTRIBUTE_FORMAT_PRINTF(A, B) +#endif + //defines the type for the WNDPROC on windows //the alignment needs to be forced for sse2 to not crash with mingw #if defined(Q_OS_WIN) diff --git a/src/corelib/global/qlogging.h b/src/corelib/global/qlogging.h index 2b798f9ea0..5ae1fb3205 100644 --- a/src/corelib/global/qlogging.h +++ b/src/corelib/global/qlogging.h @@ -92,55 +92,16 @@ public: Q_DECL_CONSTEXPR QMessageLogger(const char *file, int line, const char *function, const char *category) : context(file, line, function, category) {} - void debug(const char *msg, ...) const -#if defined(Q_CC_GNU) && !defined(__INSURE__) -# if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG) - __attribute__ ((format (gnu_printf, 2, 3))) -# else - __attribute__ ((format (printf, 2, 3))) -# endif -#endif - ; - void noDebug(const char *, ...) const -#if defined(Q_CC_GNU) && !defined(__INSURE__) -# if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG) - __attribute__ ((format (gnu_printf, 2, 3))) -# else - __attribute__ ((format (printf, 2, 3))) -# endif -#endif + void debug(const char *msg, ...) const Q_ATTRIBUTE_FORMAT_PRINTF(2, 3); + void noDebug(const char *, ...) const Q_ATTRIBUTE_FORMAT_PRINTF(2, 3) {} - void warning(const char *msg, ...) const -#if defined(Q_CC_GNU) && !defined(__INSURE__) -# if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG) - __attribute__ ((format (gnu_printf, 2, 3))) -# else - __attribute__ ((format (printf, 2, 3))) -# endif -#endif - ; - void critical(const char *msg, ...) const -#if defined(Q_CC_GNU) && !defined(__INSURE__) -# if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG) - __attribute__ ((format (gnu_printf, 2, 3))) -# else - __attribute__ ((format (printf, 2, 3))) -# endif -#endif - ; + void warning(const char *msg, ...) const Q_ATTRIBUTE_FORMAT_PRINTF(2, 3); + void critical(const char *msg, ...) const Q_ATTRIBUTE_FORMAT_PRINTF(2, 3); #ifndef Q_CC_MSVC Q_NORETURN #endif - void fatal(const char *msg, ...) const Q_DECL_NOTHROW -#if defined(Q_CC_GNU) && !defined(__INSURE__) -# if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG) - __attribute__ ((format (gnu_printf, 2, 3))) -# else - __attribute__ ((format (printf, 2, 3))) -# endif -#endif - ; + void fatal(const char *msg, ...) const Q_DECL_NOTHROW Q_ATTRIBUTE_FORMAT_PRINTF(2, 3); #ifndef QT_NO_DEBUG_STREAM QDebug debug() const; diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 3140af084b..0a0a609728 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -302,24 +302,8 @@ public: const QString &a4, const QString &a5, const QString &a6, const QString &a7, const QString &a8, const QString &a9) const Q_REQUIRED_RESULT; - QString &vsprintf(const char *format, va_list ap) -#if defined(Q_CC_GNU) && !defined(__INSURE__) -# if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG) - __attribute__ ((format (gnu_printf, 2, 0))) -# else - __attribute__ ((format (printf, 2, 0))) -# endif -#endif - ; - QString &sprintf(const char *format, ...) -#if defined(Q_CC_GNU) && !defined(__INSURE__) -# if defined(Q_CC_MINGW) && !defined(Q_CC_CLANG) - __attribute__ ((format (gnu_printf, 2, 3))) -# else - __attribute__ ((format (printf, 2, 3))) -# endif -#endif - ; + QString &vsprintf(const char *format, va_list ap) Q_ATTRIBUTE_FORMAT_PRINTF(2, 0); + QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3); int indexOf(QChar c, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; int indexOf(const QString &s, int from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const; |