This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.28.9000-250-g6f30e59


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  6f30e59fc9d9945a225de9b2c7b260ff64e72140 (commit)
      from  daea71c2e4234e8c7ed78ce3d980b25f63744a14 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=6f30e59fc9d9945a225de9b2c7b260ff64e72140

commit 6f30e59fc9d9945a225de9b2c7b260ff64e72140
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Nov 1 17:13:55 2018 +0000

    Disable -Wformat-overflow= warnings for some printf tests.
    
    Recent GCC -Wformat-overflow= changes result in some printf tests
    failing to build, because those tests are deliberately testing the
    handling of formats writing more than INT_MAX characters and the
    handling of NULL arguments to the %s format, which GCC now warns
    about.  This patch duly disables -Wformat-overflow= for the relevant
    calls to printf functions.
    
    Tested with build-many-glibcs.py with GCC mainline for
    aarch64-linux-gnu.
    
    	* stdio-common/bug22.c: Include <libc-diag.h>.
    	(do_test): Disable -Wformat-overflow= warnings around fprintf
    	calls outputting more than INT_MAX characters.
    	* stdio-common/tst-printf.c: Disable -Wformat-overflow= warnings
    	around printf call with NULL %s argument.

diff --git a/ChangeLog b/ChangeLog
index 96f6ce5..0c6b43e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2018-11-01  Joseph Myers  <joseph@codesourcery.com>
 
+	* stdio-common/bug22.c: Include <libc-diag.h>.
+	(do_test): Disable -Wformat-overflow= warnings around fprintf
+	calls outputting more than INT_MAX characters.
+	* stdio-common/tst-printf.c: Disable -Wformat-overflow= warnings
+	around printf call with NULL %s argument.
+
 	[BZ #23848]
 	* sysdeps/unix/sysv/linux/sparc/kernel-features.h [!__arch64__ &&
 	__LINUX_KERNEL_VERSION < 0x040400] (__ASSUME_SENDMSG_SYSCALL):
diff --git a/stdio-common/bug22.c b/stdio-common/bug22.c
index b26399a..b3d48eb 100644
--- a/stdio-common/bug22.c
+++ b/stdio-common/bug22.c
@@ -1,6 +1,7 @@
 /* BZ #5424 */
 #include <stdio.h>
 #include <errno.h>
+#include <libc-diag.h>
 
 /* INT_MAX + 1 */
 #define N 2147483648
@@ -30,12 +31,26 @@ do_test (void)
       return 1;
     }
 
+  /* GCC 9 warns about output of more than INT_MAX characters; this is
+     deliberately tested here.  */
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  DIAG_IGNORE_NEEDS_COMMENT (9, "-Wformat-overflow=");
+#endif
   ret = fprintf (fp, "%" SN "d", 1);
+  DIAG_POP_NEEDS_COMMENT;
   printf ("ret = %d\n", ret);
   if (ret != -1 || errno != EOVERFLOW)
 	  return 1;
 
+  /* GCC 9 warns about output of more than INT_MAX characters; this is
+     deliberately tested here.  */
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  DIAG_IGNORE_NEEDS_COMMENT (9, "-Wformat-overflow=");
+#endif
   ret = fprintf (fp, "%." SN "d", 1);
+  DIAG_POP_NEEDS_COMMENT;
   printf ("ret = %d\n", ret);
   if (ret != -1 || errno != EOVERFLOW)
 	  return 1;
@@ -45,7 +60,14 @@ do_test (void)
   if (ret != -1 || errno != EOVERFLOW)
 	  return 1;
 
+  /* GCC 9 warns about output of more than INT_MAX characters; this is
+     deliberately tested here.  */
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  DIAG_IGNORE_NEEDS_COMMENT (9, "-Wformat-overflow=");
+#endif
   ret = fprintf (fp, "%" SN2 "d%" SN2 "d", 1, 1);
+  DIAG_POP_NEEDS_COMMENT;
   printf ("ret = %d\n", ret);
 
   return ret != -1 || errno != EOVERFLOW;
diff --git a/stdio-common/tst-printf.c b/stdio-common/tst-printf.c
index 70d9e58..e4f4f16 100644
--- a/stdio-common/tst-printf.c
+++ b/stdio-common/tst-printf.c
@@ -110,7 +110,14 @@ I am ready for my first lesson today.";
   printf("left-adjusted Z string:\t\"%-010s\"\n", shortstr);
   printf("space-padded string:\t\"%10s\"\n", shortstr);
   printf("left-adjusted S string:\t\"%-10s\"\n", shortstr);
+  /* GCC 9 warns about the NULL format argument; this is deliberately
+     tested here.  */
+  DIAG_PUSH_NEEDS_COMMENT;
+#if __GNUC_PREREQ (7, 0)
+  DIAG_IGNORE_NEEDS_COMMENT (9, "-Wformat-overflow=");
+#endif
   printf("null string:\t\"%s\"\n", (char *)NULL);
+  DIAG_POP_NEEDS_COMMENT;
   printf("limited string:\t\"%.22s\"\n", longstr);
 
   printf("a-style max:\t\"%a\"\n", DBL_MAX);

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                 |    6 ++++++
 stdio-common/bug22.c      |   22 ++++++++++++++++++++++
 stdio-common/tst-printf.c |    7 +++++++
 3 files changed, 35 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]