From 4d23a5d92d3d6cca73c0aefb616915b99a10fc12 Mon Sep 17 00:00:00 2001 From: Pavel Rojtberg Date: Mon, 6 Aug 2018 01:23:19 +0200 Subject: [PATCH] core: enable printf format warnings for cv::format --- modules/core/include/opencv2/core/operations.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/core/include/opencv2/core/operations.hpp b/modules/core/include/opencv2/core/operations.hpp index 0d28b6c944..8e9d013de6 100644 --- a/modules/core/include/opencv2/core/operations.hpp +++ b/modules/core/include/opencv2/core/operations.hpp @@ -51,6 +51,12 @@ #include +#if defined(__GNUC__) || defined(__clang__) // at least GCC 3.1+, clang 3.5+ +# define CV_FORMAT_PRINTF(string_idx, first_to_check) __attribute__ ((format (printf, string_idx, first_to_check))) +#else +# define CV_FORMAT_PRINTF(A, B) +#endif + //! @cond IGNORED namespace cv @@ -387,7 +393,7 @@ The function acts like sprintf but forms and returns an STL string. It can be us message in the Exception constructor. @param fmt printf-compatible formatting specifiers. */ -CV_EXPORTS String format( const char* fmt, ... ); +CV_EXPORTS String format( const char* fmt, ... ) CV_FORMAT_PRINTF(1, 2); ///////////////////////////////// Formatted output of cv::Mat /////////////////////////////////