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 /////////////////////////////////