aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2024-03-04 16:55:23 -0800
committerDavid Gibson <david@gibson.dropbear.id.au>2024-03-06 14:28:43 +1100
commit5e6cefa17e2dfdaf6323a7cd886ee6ea17b978b3 (patch)
tree95a7ade35319fb9dcf4fa8c86f154d4888ebfb60
parent24f60011fd43683d8e3916435c4c726e9baac9c9 (diff)
downloaddtc-5e6cefa17e2dfdaf6323a7cd886ee6ea17b978b3.tar.gz
fix MinGW format attribute
Setting -D__USE_MINGW_ANSI_STDIO=1 is wrong and should not be used. MinGW internally uses a macro to select between gnu_printf and printf. Just use that instead of using a wrong format under clang backends. Signed-off-by: Rosen Penev <rosenp@gmail.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
-rw-r--r--meson.build7
-rw-r--r--util.h4
2 files changed, 3 insertions, 8 deletions
diff --git a/meson.build b/meson.build
index bfe3347..79151cd 100644
--- a/meson.build
+++ b/meson.build
@@ -22,13 +22,6 @@ add_project_arguments(
language: 'c'
)
-if host_machine.system() == 'windows'
- add_project_arguments(
- '-D__USE_MINGW_ANSI_STDIO=1',
- language: 'c'
- )
-endif
-
add_project_arguments(
'-DFDT_ASSUME_MASK=' + get_option('assume-mask').to_string(),
language: 'c'
diff --git a/util.h b/util.h
index 1547707..b448cd7 100644
--- a/util.h
+++ b/util.h
@@ -13,7 +13,9 @@
*/
#ifdef __GNUC__
-#if __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
+#ifdef __MINGW_PRINTF_FORMAT
+#define PRINTF(i, j) __attribute__((format (__MINGW_PRINTF_FORMAT, i, j)))
+#elif __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
#define PRINTF(i, j) __attribute__((format (gnu_printf, i, j)))
#else
#define PRINTF(i, j) __attribute__((format (printf, i, j)))