gdb: cast return value of std::unique_ptr::release to void
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 13 Feb 2023 19:55:13 +0000 (14:55 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Tue, 14 Feb 2023 19:25:48 +0000 (14:25 -0500)
My editor shows warnings like:

     value.c:2784: warning: The value returned by this function should be used
     value.c:2784: note: cast the expression to void to silence this warning [bugprone-unused-return-value]

These warnings come from clangd, so ultimately from one of the clang
static analyzers (probably clang-tidy).

Silence these warnings by casting to void.  Add a comment to explain
why this unusual thing is done.

Change-Id: I58323959c0baf9f1b20a8d596e4c58dc77c6809a
Approved-By: Tom Tromey <tom@tromey.com>
gdb/value.c

index 7873aeb9558ef6a32772903e746b94be6f6f4143..6597d0fe4ef5eab337c2bd6fce113739b84c09c5 100644 (file)
@@ -2347,9 +2347,12 @@ add_internal_function (gdb::unique_xmalloc_ptr<char> &&name,
 {
   struct cmd_list_element *cmd
     = do_add_internal_function (name.get (), doc.get (), handler, cookie);
-  doc.release ();
+
+  /* Manually transfer the ownership of the doc and name strings to CMD by
+     setting the appropriate flags.  */
+  (void) doc.release ();
   cmd->doc_allocated = 1;
-  name.release ();
+  (void) name.release ();
   cmd->name_allocated = 1;
 }