From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2136) id 782703858C27; Tue, 25 Apr 2023 10:09:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 782703858C27 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1682417341; bh=OrM2W5btsV6aKAJpnQcQ3gZgJdjKH9pfHG2ShoL7nAI=; h=From:To:Subject:Date:From; b=MC0AvgUg4uSKY+FjuxUgxcLln853vJyxT2Md0kYidXo0vmMIKqjxiC3rmcOU01wRR tyR6vnUWC8rIYpB8suHqbStK1xgg+T/uvqf0SKvE7S+kTJHUjI8I5OqfeV2lG4rtw3 zetktrH9nsehEaREbj5iR9FhV4qUIQ7G7MZJ9S7Q= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Aldy Hernandez To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-214] Remove default constructor to nan_state. X-Act-Checkin: gcc X-Git-Author: Aldy Hernandez X-Git-Refname: refs/heads/master X-Git-Oldrev: 3a7bed5e71c0cb74d12e35749da633d818e05cff X-Git-Newrev: a024ac7bca9b9de1d2e0c19d4bb11df293e27a7d Message-Id: <20230425100901.782703858C27@sourceware.org> Date: Tue, 25 Apr 2023 10:09:01 +0000 (GMT) List-Id: https://gcc.gnu.org/g:a024ac7bca9b9de1d2e0c19d4bb11df293e27a7d commit r14-214-ga024ac7bca9b9de1d2e0c19d4bb11df293e27a7d Author: Aldy Hernandez Date: Tue Apr 25 10:10:39 2023 +0200 Remove default constructor to nan_state. I think it's best to specify the default behavior of nan_state, since it's not obvious that nan_state() defaults to TRUE. Also, this avoids the ugly nan_state(false, false) idiom. gcc/ChangeLog: * value-range.cc (frange::set): Adjust constructor. * value-range.h (nan_state::nan_state): Replace default constructor with one taking an argument. Diff: --- gcc/value-range.cc | 3 +-- gcc/value-range.h | 13 +++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gcc/value-range.cc b/gcc/value-range.cc index 97162413727..26acba7b04b 100644 --- a/gcc/value-range.cc +++ b/gcc/value-range.cc @@ -426,8 +426,7 @@ frange::set (tree type, const REAL_VALUE_TYPE &min, const REAL_VALUE_TYPE &max, value_range_kind kind) { - nan_state nan; - set (type, min, max, nan, kind); + set (type, min, max, nan_state (true), kind); } void diff --git a/gcc/value-range.h b/gcc/value-range.h index 33ef3b5b8d8..d2a275958c8 100644 --- a/gcc/value-range.h +++ b/gcc/value-range.h @@ -274,12 +274,12 @@ public: virtual void accept (const vrange_visitor &v) const override; }; -// The NAN state as an opaque object. The default constructor is +-NAN. +// The NAN state as an opaque object. class nan_state { public: - nan_state (); + nan_state (bool); nan_state (bool pos_nan, bool neg_nan); bool neg_p () const; bool pos_p () const; @@ -288,13 +288,14 @@ private: bool m_neg_nan; }; -// Default constructor initializing the object to +-NAN. +// Set NAN state to +-NAN if NAN_P is true. Otherwise set NAN state +// to false. inline -nan_state::nan_state () +nan_state::nan_state (bool nan_p) { - m_pos_nan = true; - m_neg_nan = true; + m_pos_nan = nan_p; + m_neg_nan = nan_p; } // Constructor initializing the object to +NAN if POS_NAN is set, -NAN