From patchwork Thu Oct 25 21:10:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergio Durigan Junior X-Patchwork-Id: 29898 Received: (qmail 126806 invoked by alias); 25 Oct 2018 21:10:16 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 125782 invoked by uid 89); 25 Oct 2018 21:10:16 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=H*Ad:U*sergiodj, caught X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 25 Oct 2018 21:10:15 +0000 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E7154C04A592 for ; Thu, 25 Oct 2018 21:10:13 +0000 (UTC) Received: from psique.yyz.redhat.com (unused-10-15-17-196.yyz.redhat.com [10.15.17.196]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9F6466051E; Thu, 25 Oct 2018 21:10:11 +0000 (UTC) From: Sergio Durigan Junior To: GDB Patches Cc: Sergio Durigan Junior Subject: [PATCH] Fix thinko on common/offset-type.h (compare 'lhs' against 'rhs') Date: Thu, 25 Oct 2018 17:10:08 -0400 Message-Id: <20181025211008.12164-1-sergiodj@redhat.com> X-IsSubscribed: yes While doing something else, I noticed that the OFFSET_TYPE's "DEFINE_OFFSET_REL_OP" has a thinko: it is comparing 'lhs' against itself, instead of against 'rhs'. This patch fixes it. I also found an interesting thing. We have an unittest for offset-type, and in theory it should have caught this problem, because it has tests for relational operators. However, the tests successfully pass, and after some investigation I'm almost sure this is because these operators are not being properly overloaded. I tried a few things to make them be used, without success. If someone wants to give this a try, I'd appreciate. No regressions introduced. gdb/ChangeLog: 2018-10-25 Sergio Durigan Junior * common/offset-type.h (DEFINE_OFFSET_REL_OP): Compare 'lhs' against 'rhs', instead of with 'lhs' again. --- gdb/ChangeLog | 5 +++++ gdb/common/offset-type.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 61dc039d4f..d16c81b3a7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-10-25 Sergio Durigan Junior + + * common/offset-type.h (DEFINE_OFFSET_REL_OP): Compare 'lhs' + against 'rhs', instead of with 'lhs' again. + 2018-10-25 Andrew Burgess * python/py-function.c (convert_values_to_python): Return diff --git a/gdb/common/offset-type.h b/gdb/common/offset-type.h index b480b14406..ed59227aa5 100644 --- a/gdb/common/offset-type.h +++ b/gdb/common/offset-type.h @@ -81,7 +81,7 @@ { \ using underlying = typename std::underlying_type::type; \ return (static_cast (lhs) \ - OP static_cast (lhs)); \ + OP static_cast (rhs)); \ } DEFINE_OFFSET_REL_OP(>)