]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
libctf: fix testsuite bugs revealed by -Wall
authorNick Alcock <nick.alcock@oracle.com>
Wed, 19 Jun 2024 13:06:26 +0000 (14:06 +0100)
committerNick Alcock <nick.alcock@oracle.com>
Wed, 19 Jun 2024 14:51:24 +0000 (15:51 +0100)
Most of these are harmless, but some of the type confusions and especially
a missing ctf_strerror() on an error path were actual bugs that could
have resulted in test failures crashing rather than printing an error
message.

libctf/
* testsuite/libctf-lookup/enumerator-iteration.c: Fix type
        confusion, signedness confusion and a missing ctf_errmsg().
* testsuite/libctf-regression/libctf-repeat-cu-main.c: Return 0 from
        the test function.
* testsuite/libctf-regression/open-error-free.c: Fix signedness
        confusion.
* testsuite/libctf-regression/zrewrite.c: Remove unused label.

libctf/testsuite/libctf-lookup/enumerator-iteration.c
libctf/testsuite/libctf-regression/libctf-repeat-cu-main.c
libctf/testsuite/libctf-regression/open-error-free.c
libctf/testsuite/libctf-regression/zrewrite.c

index e46dad6dc701eee6f5beaac918d018a86c493c5d..78cb5a3cc0dd247eb65e559f679eddea3bee34fc 100644 (file)
@@ -23,8 +23,8 @@ print_constants (ctf_archive_t *ctf, const char *name)
     {
       char *foo;
 
-      printf ("%s in %s has value %i\n", name,
-             foo = ctf_type_aname (fp, type), val);
+      printf ("%s in %s has value %li\n", name,
+             foo = ctf_type_aname (fp, type), (long int) val);
       free (foo);
 
       ctf_dict_close (fp);
@@ -44,7 +44,6 @@ main (int argc, char *argv[])
   int err;
   ctf_id_t type;
   ctf_next_t *i = NULL;
-  const char *name;
   int64_t val;
   int counter = 0;
 
@@ -71,8 +70,8 @@ main (int argc, char *argv[])
     {
       char *foo;
 
-      printf ("IENUMSAMPLE2_2 in %s has value %i\n",
-             foo = ctf_type_aname (fp, type), val);
+      printf ("IENUMSAMPLE2_2 in %s has value %li\n",
+             foo = ctf_type_aname (fp, type), (long int) val);
       free (foo);
 
       if ((type = ctf_add_enum (fp, CTF_ADD_ROOT, "ie3")) == CTF_ERR)
@@ -117,13 +116,13 @@ main (int argc, char *argv[])
          if (type != CTF_ERR)
            {
              char *foo;
-             printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %i in %s\n",
-                     val, foo = ctf_type_aname (fp, type));
+             printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %li in %s\n",
+                     (long int) val, foo = ctf_type_aname (fp, type));
              free (foo);
            }
          else
            printf ("direct lookup: hidden lookup did not return ECTF_NOENUMNAM but rather %s\n",
-                   ctf_errno (fp));
+                   ctf_errmsg (ctf_errno (fp)));
        }
 
       ctf_dict_close (fp);
index bfbaf0cc8dc8a95e396ce75a907437b1dbb84fba..c1f2f6318c1c9a91e2ccd8876ca22644735a8acd 100644 (file)
@@ -2,4 +2,4 @@ typedef short ret_t;
 int a (void);
 int b (void);
 int c (void);
-int blah (void) { a(); b(); c(); }
+int blah (void) { a(); b(); c(); return 0; }
index edc5f348d5f1dddbd4fd4d240bcf9964bba39829..7405cdb25f38774d23c7644b07baccbc2afaad27 100644 (file)
@@ -143,7 +143,7 @@ int main (void)
      failure after we corrupt it: the leak is only observable if the dict gets
      malloced, which only happens after that point.)  */
 
-  if ((written = ctf_write_mem (fp, &written_size, (size_t) -1)) == NULL)
+  if ((written = (char *) ctf_write_mem (fp, &written_size, (size_t) -1)) == NULL)
     goto write_err;
 
   ctf_dict_close (fp);
index 5e061f10a5fa266c25e6ea15a4869ce938b0b686..3ddc354d2e3b29255b388289ce869a2ac209ebe7 100644 (file)
@@ -150,7 +150,4 @@ main (int argc, char *argv[])
  write_stderr:
   fprintf (stderr, "%s: cannot open for writing: %s\n", argv[0], strerror (errno));
   return 1;
- read_err: 
-  fprintf (stderr, "%s: cannot read\n", argv[0]);
-  return 1;
 }