Improve include guards for format attribute

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
This commit is contained in:
Paul Elliott 2021-03-05 15:52:25 +00:00
parent 61d2209e42
commit aa5e132df7

View file

@ -84,18 +84,22 @@
* \def MBEDTLS_PRINTF_ATTRIBUTE * \def MBEDTLS_PRINTF_ATTRIBUTE
* *
* Mark a function as having printf attributes, and thus enable checking * Mark a function as having printf attributes, and thus enable checking
* via -wFormat and other flags. This does nothing in windows builds as the * via -wFormat and other flags. This does nothing on builds with compilers
* windows compiler does not support it. * that do not support the format attribute
* *
* Module: library/debug.c * Module: library/debug.c
* Caller: * Caller:
* *
* This module provides debugging functions. * This module provides debugging functions.
*/ */
#if defined(__GNUC__) #if defined(__has_attribute)
#if __has_attribute(format)
#define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check) \ #define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check) \
__attribute__((format (printf, string_index, first_to_check))) __attribute__((format (printf, string_index, first_to_check)))
#else #else /* __has_attribute(format) */
#define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check)
#endif /* __has_attribute(format) */
#else /* defined(__has_attribute) */
#define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check) #define MBEDTLS_PRINTF_ATTRIBUTE(string_index, first_to_check)
#endif #endif
@ -115,10 +119,10 @@
#include <inttypes.h> #include <inttypes.h>
#define MBEDTLS_PRINTF_SIZET PRIuPTR #define MBEDTLS_PRINTF_SIZET PRIuPTR
#define MBEDTLS_PRINTF_LONGLONG "I64d" #define MBEDTLS_PRINTF_LONGLONG "I64d"
#else #else /* defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1800) */
#define MBEDTLS_PRINTF_SIZET "zu" #define MBEDTLS_PRINTF_SIZET "zu"
#define MBEDTLS_PRINTF_LONGLONG "lld" #define MBEDTLS_PRINTF_LONGLONG "lld"
#endif #endif /* defined(__MINGW32__) || (defined(_MSC_VER) && _MSC_VER < 1800) */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {