在 2021-01-19 22:16, Sandro Mani 写道:
Hi

Tryting to build gcc-10 against mingw-w64-8.0.0, when compiling libgomp it 
errors out with [1]
(...)
-Werror is passed when compiling libgomp (as it generally is in gcc throughout), so this causes the build to fail. I'm unsure which is the correct approach to deal with this?



Please apply this patch [1] to GCC source tree and try again.

[1] https://github.com/lhmouse/MINGW-packages-dev/blob/3ac41bd0149bc354c9618b00df54746ea528adca/mingw-w64-gcc-git/0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch



--
Best regards,
LH_Mouse
From 05b0bb43124b041da360ba9adcbaab8430be6d18 Mon Sep 17 00:00:00 2001
From: Liu Hao <lh_mo...@126.com>
Date: Wed, 6 May 2020 21:49:18 +0800
Subject: [PATCH] libgomp: Don't hard-code MS printf attributes

---
 libgomp/libgomp.h | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h
index c98c1452bd4..0cc8443f6c2 100644
--- a/libgomp/libgomp.h
+++ b/libgomp/libgomp.h
@@ -69,6 +69,13 @@
 # endif
 #endif
 
+#include <stdio.h>
+#ifdef __MINGW_PRINTF_FORMAT
+#define PRINTF_FORMAT __MINGW_PRINTF_FORMAT
+#else
+#define PRINTF_FORMAT printf
+#endif
+
 #ifdef HAVE_ATTRIBUTE_VISIBILITY
 # pragma GCC visibility push(hidden)
 #endif
@@ -180,7 +187,7 @@ extern void gomp_aligned_free (void *);
 
 extern void gomp_vdebug (int, const char *, va_list);
 extern void gomp_debug (int, const char *, ...)
-       __attribute__ ((format (printf, 2, 3)));
+       __attribute__ ((format (PRINTF_FORMAT, 2, 3)));
 #define gomp_vdebug(KIND, FMT, VALIST) \
   do { \
     if (__builtin_expect (gomp_debug_var, 0)) \
@@ -193,11 +200,11 @@ extern void gomp_debug (int, const char *, ...)
   } while (0)
 extern void gomp_verror (const char *, va_list);
 extern void gomp_error (const char *, ...)
-       __attribute__ ((format (printf, 1, 2)));
+       __attribute__ ((format (PRINTF_FORMAT, 1, 2)));
 extern void gomp_vfatal (const char *, va_list)
        __attribute__ ((noreturn));
 extern void gomp_fatal (const char *, ...)
-       __attribute__ ((noreturn, format (printf, 1, 2)));
+       __attribute__ ((noreturn, format (PRINTF_FORMAT, 1, 2)));
 
 struct gomp_task;
 struct gomp_taskgroup;
-- 
2.26.2

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to