This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH] Fix warning from latest GCC in tst-printf.c
- From: Steve Ellcey <sellcey at caviumnetworks dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Thu, 20 Oct 2016 15:43:25 -0700
- Subject: [PATCH] Fix warning from latest GCC in tst-printf.c
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Steve dot Ellcey at cavium dot com;
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
GCC 7.0 (prerelease) adds a a new warning, -Wformat-length, if it
thinks an snprintf call may go beyond the end of the buffer length
being written to. This warning is an approximation since GCC may not
know how many characters a '%d' format will expand to, but it makes a
worse case guess and warns if that would take the print beyond the
buffer length.
Here is a fix for one GLIBC test that fails to compile due to this
warning. I think we want to ignore the warning in this case and not
increase the buffer size because I believe the test is intentionally
trying to go beyond the buffer limit.
The warnings are coming from the snprintf statements at line 225 and
228 of the original stdio-common/tst-printf.c and I could do a push and
pop of the warning down at those lines but I thought it made more sense
to put it up with the other DIAG_IGNORE.
OK to checkin?
Steve Ellcey
sellcey@caviumnetworks.com
2016-10-20 Steve Ellcey <sellcey@caviumnetworks.com>
* stdio-common/tst-printf.c: Ignore -Wformat-length warning.
diff --git a/stdio-common/tst-printf.c b/stdio-common/tst-printf.c
index 2896b18..1ae1eea 100644
--- a/stdio-common/tst-printf.c
+++ b/stdio-common/tst-printf.c
@@ -32,6 +32,9 @@
The compiler warnings are not useful here. */
DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wformat");
+/* Compiler warnings about format lengths should also be ignored. */
+DIAG_IGNORE_NEEDS_COMMENT (7.0, "-Wformat-length");
+
static void rfg1 (void);
static void rfg2 (void);
static void rfg3 (void);