Message ID | 20150106164532.GA25118@domone |
---|---|
State | New |
Headers | show |
On Tue, 6 Jan 2015, Ondřej Bílka wrote: > On Mon, Dec 15, 2014 at 08:15:47PM +0100, Torvald Riegel wrote: > > This fixes a warning in a build using a fairly recent GCC. AFAIK the > > warning/option is new and hasn't been offered by 4.9, hence the > > conditional. OK? > > I also got warning in debian gcc-4.9 so I commited following as obvious. No, it's not obvious; as far as I can tell, the option is not in GCC 4.9 branch, so resulting in tester.c: In function 'test_memset': tester.c:1311:3: error: unknown option after '#pragma GCC diagnostic' kind [-Werror=pragmas] DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmemset-transposed-args") ^ cc1: all warnings being treated as errors and breaking the build. Please revert the patch. If distributions have backported this warning, a configure test will be needed to determine whether it can be suppressed. > - DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Wmemset-transposed-args") > + DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmemset-transposed-args") That part of the change is also dubious - the version is the *most recent* version for which the diagnostic was observed, not the oldest, as it gives information about when the suppression should be reviewed. (As explained in the comment on DIAG_IGNORE_NEEDS_COMMENT, it should however say 5 not 5.0.)
On Tue, Jan 06, 2015 at 05:20:47PM +0000, Joseph Myers wrote: > On Tue, 6 Jan 2015, Ondřej Bílka wrote: > > > On Mon, Dec 15, 2014 at 08:15:47PM +0100, Torvald Riegel wrote: > > > This fixes a warning in a build using a fairly recent GCC. AFAIK the > > > warning/option is new and hasn't been offered by 4.9, hence the > > > conditional. OK? > > > > I also got warning in debian gcc-4.9 so I commited following as obvious. > > No, it's not obvious; as far as I can tell, the option is not in GCC 4.9 > branch, so resulting in > > tester.c: In function 'test_memset': > tester.c:1311:3: error: unknown option after '#pragma GCC diagnostic' kind [-Werror=pragmas] > DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmemset-transposed-args") > ^ > cc1: all warnings being treated as errors > > and breaking the build. Please revert the patch. If distributions have > backported this warning, a configure test will be needed to determine > whether it can be suppressed. > ok, however that is bad policy as you would need to add exception every time some distribution decides to backport warning. I would rather disable -Werror=pragmas.
diff --git a/ChangeLog b/ChangeLog index 2edda5e..8f569ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ * sysdeps/unix/sysv/linux/check_pf.c (make_request): Clean up check_pf allocation pattern. addresses + * string/tester.c (test_memset): Suppress warning for gcc 4.9 2015-01-06 Adhemerval Zanella <azanella@linux.vnet.ibm.com> diff --git a/string/tester.c b/string/tester.c index f957ed2..64dc056 100644 --- a/string/tester.c +++ b/string/tester.c @@ -1305,10 +1305,10 @@ test_memset (void) equal(one, "axxxefgh", 2); /* Basic test. */ DIAG_PUSH_NEEDS_COMMENT; -#if __GNUC_PREREQ (5, 0) - /* GCC 5.0 warns about a zero-length memset because the arguments to memset +#if __GNUC_PREREQ (4, 9) + /* GCC 4.9 warns about a zero-length memset because the arguments to memset may be in the wrong order. But we really want to test this. */ - DIAG_IGNORE_NEEDS_COMMENT (5.0, "-Wmemset-transposed-args") + DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmemset-transposed-args") #endif (void) memset(one+2, 'y', 0); equal(one, "axxxefgh", 3); /* Zero-length set. */