From patchwork Mon Apr 22 19:01:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 88875 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5432C3849ACA for ; Mon, 22 Apr 2024 19:02:17 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 92A78384AB59 for ; Mon, 22 Apr 2024 19:01:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 92A78384AB59 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 92A78384AB59 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713812504; cv=none; b=a7LnVHM00vmLDRMOY7GFTBBRubBhYDnQDDXGIqk5p530Z4m6RbaRpek3uzAxbDOctVmr2eiu4u+o+PGCemVpVpu+mH2czpri+RZpyJsnB9yv1Oe8tJbAabkIENJe3gLxhV6KeSsfXvLZvWb2baHlMknpOmfL2P0bkDK2D8yz7HA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713812504; c=relaxed/simple; bh=E3BFIrJUV8RcxICwx6jEaHaEd1xaHYkV3hV/EKFBmsQ=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=NYbNVogyRuTtQTSFNNENJHkguHOJ1zkgYMxB8rio3bJNUnmP9VVszL2Tm7QYEA9wXq66ywfIliD9Xb9aFIkllW9CNjtM4iGiZQECv6aS2cOG993DviCRGV5fh8fsBxYN5robdj1kpWxgNj48np0ieXovT6eXDGoJFVKHDPHGXd0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from smarchi-efficios.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 04B861E092; Mon, 22 Apr 2024 15:01:39 -0400 (EDT) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH] gdb/dwarf2/read.c: remove pessimizing std::move Date: Mon, 22 Apr 2024 15:01:37 -0400 Message-ID: <20240422190139.36506-1-simon.marchi@efficios.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 X-Spam-Status: No, score=-3496.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org 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 --- gdb/dwarf2/read.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) base-commit: fdaa4939e5024ea809c0d4d1aa6043a60b37d9b5 diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index af69e1d9d9e9..96e51bb42b0f 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