From 46a4745434bb3620f5c67df29969fe8bd311870c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 24 May 2023 09:20:48 -0700 Subject: [PATCH 1/3] manywarnings: port better to GCC 11.2 and earlier Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-diffutils/2023-05/msg00015.html * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Also test for GCC bug 82283 . --- ChangeLog | 9 +++++++++ m4/manywarnings.m4 | 7 +++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 01944021be..81057be3d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2023-05-24 Paul Eggert + + manywarnings: port better to GCC 11.2 and earlier + Problem reported by Bruno Haible in: + https://lists.gnu.org/r/bug-diffutils/2023-05/msg00015.html + * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): + Also test for GCC bug 82283 + . + 2023-05-24 Bruno Haible asyncsafe-spin, simple-atomic: Don't use -mcpu-v9 on NetBSD/sparc. diff --git a/m4/manywarnings.m4 b/m4/manywarnings.m4 index 13db996516..77b96295df 100644 --- a/m4/manywarnings.m4 +++ b/m4/manywarnings.m4 @@ -69,11 +69,14 @@ AC_DEFUN([gl_MANYWARN_ALL_GCC(C)], CFLAGS="$CFLAGS -Wextra -Werror" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[int f (void) + [[struct file_data { int desc, name; }; + struct cmp { struct file_data file[1]; }; + void f (struct cmp *r) { typedef struct { int a; int b; } s_t; s_t s1 = { 0, }; - return s1.b; + struct cmp cmp = { .file[0].desc = r->file[0].desc + s1.a }; + *r = cmp; } ]], [[]])], -- 2.39.2