From 4eb406440b677bbdd266d3c3117be6f4c2133d5d Mon Sep 17 00:00:00 2001 From: grarup Date: Mon, 4 Oct 2021 16:42:41 +0200 Subject: [PATCH] fix LV_FORMAT_ATTRIBUTE fix for gnu > 4.4 (#2631) Co-authored-by: Peter Grarup --- docs/CHANGELOG.md | 1 + src/misc/lv_types.h | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index c88cebc16..292660252 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -37,6 +37,7 @@ - fix(snapshot): snapshot is affected by parent's style because of wrong coordinates. - fix(disp) set default theme also for non-default displays - feat(btnmatrix/keyboard): add option to show popovers on button press +- fix(types) LV_FORMAT_ATTRIBUTE now works with gnu version greater than 4.4 ## v8.0.2 (16.07.2021) - fix(theme) improve button focus of keyboard diff --git a/src/misc/lv_types.h b/src/misc/lv_types.h index 78244a670..155a76b37 100644 --- a/src/misc/lv_types.h +++ b/src/misc/lv_types.h @@ -77,14 +77,18 @@ typedef uint32_t lv_uintptr_t; #define _LV_CONCAT3(x, y, z) x ## y ## z #define LV_CONCAT3(x, y, z) _LV_CONCAT3(x, y, z) -#if (defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)) && !defined(PYCPARSER) -#define LV_FORMAT_ATTRIBUTE(fmtstr, vararg) __attribute__ ((format(printf, fmtstr, vararg))) +#if defined(PYCPARSER) +#define LV_FORMAT_ATTRIBUTE(fmtstr, vararg) +#elif defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 4) || __GNUC__ > 4) +#define LV_FORMAT_ATTRIBUTE(fmtstr, vararg) __attribute__((format(gnu_printf, fmtstr, vararg))) +#elif (defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)) +#define LV_FORMAT_ATTRIBUTE(fmtstr, vararg) __attribute__((format(printf, fmtstr, vararg))) #else #define LV_FORMAT_ATTRIBUTE(fmtstr, vararg) #endif #ifdef __cplusplus -} /*extern "C"*/ +} /*extern "C"*/ #endif #endif /*LV_TYPES_H*/