[binutils-gdb] libctf: make the ctf_next ctn_fp non-const

Nick Alcock nix@sourceware.org
Tue Jun 18 12:55:51 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4bbc4b1f5cf650ace8b2aa683ccb24a34131ad3b

commit 4bbc4b1f5cf650ace8b2aa683ccb24a34131ad3b
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Tue Jun 11 20:47:56 2024 +0100

    libctf: make the ctf_next ctn_fp non-const
    
    This was always an error, because the ctn_fp routinely has errors set on it,
    which is not something you can (or should) do to a const object.
    
    libctf/
            * ctf-impl.h (ctf_next_) <cu.ctn_fp>: Make non-const.

Diff:
---
 libctf/ctf-impl.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/libctf/ctf-impl.h b/libctf/ctf-impl.h
index ec0b4feb328..299d981a718 100644
--- a/libctf/ctf-impl.h
+++ b/libctf/ctf-impl.h
@@ -560,11 +560,13 @@ struct ctf_next
     void **ctn_hash_slot;
   } u;
 
-  /* This union is of various sorts of dict we can iterate over:
-     currently dictionaries and archives, dynhashes, and dynsets.  */
+  /* This union is of various sorts of dict we can iterate over: currently
+     archives, dictionaries, dynhashes, and dynsets.  ctn_fp is non-const
+     because we need to set errors on it.  */
+
   union
   {
-    const ctf_dict_t *ctn_fp;
+    ctf_dict_t *ctn_fp;
     const ctf_archive_t *ctn_arc;
     const ctf_dynhash_t *ctn_h;
     const ctf_dynset_t *ctn_s;


More information about the Binutils-cvs mailing list