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
{
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;
}