[binutils-gdb] gdb/record-full: fix some -Wpessimizing-move errors

Simon Marchi via Gdb-cvs <[email protected]> Mon, 6 Jul 2026 14:42:44 +0000 (GMT)
Newsgroups gmane.comp.gdb.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=abcf25501f986df152581faeff08419c198a7ec3

commit abcf25501f986df152581faeff08419c198a7ec3
Author: Simon Marchi <[email protected]>
Date:   Mon Jul 6 14:38:46 2026 +0000

    gdb/record-full: fix some -Wpessimizing-move errors
    
    Compiling record-full.c with clang shows:
    
        /home/smarchi/src/binutils-gdb/gdb/record-full.c:2386:14: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
         2386 |         rec.entry = std::move (record_full_reg_entry::from_bfd
              |                     ^
        /home/smarchi/src/binutils-gdb/gdb/record-full.c:2386:14: note: remove std::move call here
         2386 |         rec.entry = std::move (record_full_reg_entry::from_bfd
              |                     ^~~~~~~~~~~
         2387 |                                 (cbfd, osec, bfd_offset));
              |                                                         ~
        /home/smarchi/src/binutils-gdb/gdb/record-full.c:2393:14: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
         2393 |         rec.entry = std::move (record_full_mem_entry::from_bfd
              |                     ^
        /home/smarchi/src/binutils-gdb/gdb/record-full.c:2393:14: note: remove std::move call here
         2393 |         rec.entry = std::move (record_full_mem_entry::from_bfd
              |                     ^~~~~~~~~~~
         2394 |                                 (cbfd, osec, bfd_offset));
              |                                                         ~
    
    It's indeed not recommended to std::move the return value of a
    function.  Remove the std::moves.
    
    Change-Id: I80d947aa3d917fe3fcaaad0c3e329cb1de48a8ee

Diff:
---
 gdb/record-full.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gdb/record-full.c b/gdb/record-full.c
index 695d9d1622c..1392510a175 100644
--- a/gdb/record-full.c
+++ b/gdb/record-full.c
@@ -2383,15 +2383,13 @@ record_full_entry::from_bfd (bfd *cbfd, asection *osec, int *bfd_offset)
     {
     case record_full_reg: /* reg */
       {
-	rec.entry = std::move (record_full_reg_entry::from_bfd
-				(cbfd, osec, bfd_offset));
+	rec.entry = record_full_reg_entry::from_bfd (cbfd, osec, bfd_offset);
 	break;
       }
 
     case record_full_mem: /* mem */
       {
-	rec.entry = std::move (record_full_mem_entry::from_bfd
-				(cbfd, osec, bfd_offset));
+	rec.entry = record_full_mem_entry::from_bfd (cbfd, osec, bfd_offset);
 	break;
       }