diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2024-04-22 15:01:37 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2024-04-23 10:40:12 -0400 |
commit | ff191ddf80a2bcb81e0ef0208a961f98e72fe719 (patch) | |
tree | 8f63655506732f955f055534f9ca507a9122d23d | |
parent | 6a7d971a8a95d35310388959acfa82bc9d63aba6 (diff) | |
download | gdb-ff191ddf80a2bcb81e0ef0208a961f98e72fe719.zip gdb-ff191ddf80a2bcb81e0ef0208a961f98e72fe719.tar.gz gdb-ff191ddf80a2bcb81e0ef0208a961f98e72fe719.tar.bz2 |
gdb/dwarf2/read.c: remove pessimizing std::move
When building with this clang:
$ c++ --version
FreeBSD clang version 16.0.6 (https://github.com/llvm/llvm-project.git llvmorg-16.0.6-0-g7cbf1a259152)
I see:
$ gmake
CXX dwarf2/read.o
/home/smarchi/src/binutils-gdb/gdb/dwarf2/read.c:4890:6: error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move]
std::move (thread_storage.release_parent_map ()));
^
/home/smarchi/src/binutils-gdb/gdb/dwarf2/read.c:4890:6: note: remove std::move call here
std::move (thread_storage.release_parent_map ()));
^~~~~~~~~~~ ~
The compiler seems right, there is not need to std::move the result of
`release_parent_map ()`, it's already going to be an rvalue. Remove the
std::move.
The issue isn't FreeBSD-specific, I see it on Linux as well when
building hwith clang, I just noticed it on a FreeBSD build first.
Change-Id: I7aa20a4db56c799f20d838ad08099a01653bba19
Approved-By: Tom Tromey <tom@tromey.com>
-rw-r--r-- | gdb/dwarf2/read.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index af69e1d..96e51bb 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -4885,7 +4885,7 @@ cooked_index_debug_info::process_cus (size_t task_number, unit_iterator first, m_results[task_number] = result_type (thread_storage.release (), complaint_handler.release (), std::move (errors), - std::move (thread_storage.release_parent_map ())); + thread_storage.release_parent_map ()); } void |