Blob Blame History Raw
commit 6ff61a51459d141782fbcc32ae81c0ef1954dad6
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Oct 4 19:10:43 2021 +0000

    Fix stdio-common tests for GCC 12 -Waddress
    
    My glibc bot shows failures building the testsuite with GCC mainline
    across all architectures:
    
    tst-vfprintf-width-prec.c: In function 'do_test':
    tst-vfprintf-width-prec.c:90:16: error: the comparison will always evaluate as 'false' for the address of 'result' will never be NULL [-Werror=address]
       90 |     if (result == NULL)
          |                ^~
    tst-vfprintf-width-prec.c:89:13: note: 'result' declared here
       89 |     wchar_t result[100];
          |             ^~~~~~
    
    This is clearly a correct warning; the comparison against NULL is
    clearly a cut-and-paste mistake from an earlier case in the test that
    does use calloc.  Thus, remove the unnecessary check for NULL shown up
    by the warning.
    
    Similarly, two other tests have bogus comparisons against NULL; remove
    those as well:
    
    scanf14a.c:95:13: error: the comparison will always evaluate as 'false' for the address of 'fname' will never be NULL [-Werror=address]
       95 |   if (fname == NULL)
          |             ^~
    scanf14a.c:93:8: note: 'fname' declared here
       93 |   char fname[strlen (tmpdir) + sizeof "/tst-scanf14.XXXXXX"];
          |        ^~~~~
    
    scanf16a.c:125:13: error: the comparison will always evaluate as 'false' for the address of 'fname' will never be NULL [-Werror=address]
      125 |   if (fname == NULL)
          |             ^~
    scanf16a.c:123:8: note: 'fname' declared here
      123 |   char fname[strlen (tmpdir) + sizeof "/tst-scanf16.XXXXXX"];
          |        ^~~~~
    
    Tested with build-many-glibcs.py (GCC mainline) for aarch64-linux-gnu.
    
    (cherry picked from commit a312e8fe6d89f5eae6a4583d5db577121e61c0b5)

diff --git a/stdio-common/scanf14a.c b/stdio-common/scanf14a.c
index 12adcff5a4970da1..b37712d1c673fa3a 100644
--- a/stdio-common/scanf14a.c
+++ b/stdio-common/scanf14a.c
@@ -92,8 +92,6 @@ main (void)
 
   char fname[strlen (tmpdir) + sizeof "/tst-scanf14.XXXXXX"];
   sprintf (fname, "%s/tst-scanf14.XXXXXX", tmpdir);
-  if (fname == NULL)
-    FAIL ();
 
   /* Create a temporary file.   */
   int fd = mkstemp (fname);
diff --git a/stdio-common/scanf16a.c b/stdio-common/scanf16a.c
index 400d85a54e81c3cb..74d0295c97f73b14 100644
--- a/stdio-common/scanf16a.c
+++ b/stdio-common/scanf16a.c
@@ -122,8 +122,6 @@ main (void)
 
   char fname[strlen (tmpdir) + sizeof "/tst-scanf16.XXXXXX"];
   sprintf (fname, "%s/tst-scanf16.XXXXXX", tmpdir);
-  if (fname == NULL)
-    FAIL ();
 
   /* Create a temporary file.   */
   int fd = mkstemp (fname);
diff --git a/stdio-common/tst-vfprintf-width-prec.c b/stdio-common/tst-vfprintf-width-prec.c
index 3192fd797ad4ea90..278d57f739f576e9 100644
--- a/stdio-common/tst-vfprintf-width-prec.c
+++ b/stdio-common/tst-vfprintf-width-prec.c
@@ -87,12 +87,6 @@ do_test (void)
   }
   {
     wchar_t result[100];
-    if (result == NULL)
-      {
-        printf ("error: calloc (%d, %zu): %m", ret + 1, sizeof (wchar_t));
-        return 1;
-      }
-
     ret = swprintf (result, 100, L"%133000.999999999x", 17);
     if (ret >= 0)
       {