From: Sergio Durigan Junior Date: Thu, 25 Oct 2018 20:46:46 +0000 (-0400) Subject: Remove relational operators from common/offset-type.h X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=fd332753fa7050bb9d7c89147e32d285099fe402;p=deliverable%2Fbinutils-gdb.git Remove relational operators from common/offset-type.h This patch is a follow-up of: https://sourceware.org/ml/gdb-patches/2018-10/msg00601.html It removes the declaration of the relational operators for common/offset-type.h. As it turns out, these overloads are not being used when a new offset type is declared, because, according to Pedro Alves: I think the functions aren't called because they are templates, and thus the built-in (non-template) versions take precedence. If you make them non-templates, then they should be called. But, the built-ins are fine, so yeah, we can just remove the custom definitions. The patch also adjusts the comments on the code. No regressions introduced. gdb/ChangeLog: 2018-10-29 Sergio Durigan Junior * common/offset-type.h (DEFINE_OFFSET_REL_OP): Delete. Adjust comments. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 51ba04d552..0207bec278 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2018-10-29 Sergio Durigan Junior + + * common/offset-type.h (DEFINE_OFFSET_REL_OP): Delete. + Adjust comments. + 2018-10-29 Rainer Orth * procfs.c: Include common/pathstuff.h. diff --git a/gdb/common/offset-type.h b/gdb/common/offset-type.h index b480b14406..174ad1e456 100644 --- a/gdb/common/offset-type.h +++ b/gdb/common/offset-type.h @@ -57,7 +57,7 @@ /* The macro macro is all you need to know use offset types. The rest below is all implementation detail. */ -/* For each enum class type that you want to support relational +/* For each enum class type that you want to support arithmetic operators, declare an "is_offset_type" overload that has exactly one parameter, of type that enum class. E.g.,: @@ -73,22 +73,6 @@ function via ADL. */ -#define DEFINE_OFFSET_REL_OP(OP) \ - template ()))> \ - constexpr bool \ - operator OP (E lhs, E rhs) \ - { \ - using underlying = typename std::underlying_type::type; \ - return (static_cast (lhs) \ - OP static_cast (lhs)); \ - } - -DEFINE_OFFSET_REL_OP(>) -DEFINE_OFFSET_REL_OP(>=) -DEFINE_OFFSET_REL_OP(<) -DEFINE_OFFSET_REL_OP(<=) - /* Adding or subtracting an integer to an offset type shifts the offset. This is like "PTR = PTR + INT" and "PTR += INT". */