From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id ChXANXjFEmDbcQAAWB0awg (envelope-from ) for ; Thu, 28 Jan 2021 09:08:56 -0500 Received: by simark.ca (Postfix, from userid 112) id C60221EF80; Thu, 28 Jan 2021 09:08:56 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: * X-Spam-Status: No, score=1.6 required=5.0 tests=DKIM_SIGNED,MAILING_LIST_MULTI, RCVD_IN_BL_SPAMCOP_NET,RDNS_NONE,T_DKIM_INVALID,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 1915A1E939 for ; Thu, 28 Jan 2021 09:08:56 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8C3BD385800F; Thu, 28 Jan 2021 14:08:55 +0000 (GMT) Received: from gateway32.websitewelcome.com (gateway32.websitewelcome.com [192.185.144.98]) by sourceware.org (Postfix) with ESMTPS id 476613858D33 for ; Thu, 28 Jan 2021 14:08:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 476613858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=tom@tromey.com Received: from cm12.websitewelcome.com (cm12.websitewelcome.com [100.42.49.8]) by gateway32.websitewelcome.com (Postfix) with ESMTP id AB5B1443A80 for ; Thu, 28 Jan 2021 08:08:51 -0600 (CST) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id 57ydllNTwiQiZ57ydlFdyd; Thu, 28 Jan 2021 08:08:51 -0600 X-Authority-Reason: nr=8 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=mUuemADwJwQE/Mopu3ZF1AOu6Q+gRtipckgvQnI/pQg=; b=eZbwqoJUo2AhZ9Ij0KmeVfAmlV fmxzBVGxrxL2h55YxRKUpyA4dsYV7rH8CWpRVoEEeTwLw9HlRZQk/7njVXdCV59c1Y8Pj8+YwZgA+ F7hsjjISkjFNbEJUV3371iJlp; Received: from 97-122-91-54.hlrn.qwest.net ([97.122.91.54]:35732 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1l57yd-0049Ba-9T; Thu, 28 Jan 2021 07:08:51 -0700 From: Tom Tromey To: Tom de Vries Subject: Re: [PATCH][gdb/exp] Fix assert when adding ptr to imaginary unit References: <20210128130655.GA8529@delia> X-Attribution: Tom Date: Thu, 28 Jan 2021 07:08:50 -0700 In-Reply-To: <20210128130655.GA8529@delia> (Tom de Vries's message of "Thu, 28 Jan 2021 14:06:56 +0100") Message-ID: <87im7hduh9.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.122.91.54 X-Source-L: No X-Exim-ID: 1l57yd-0049Ba-9T X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-122-91-54.hlrn.qwest.net (murgatroyd) [97.122.91.54]:35732 X-Source-Auth: tom+tromey.com X-Email-Count: 2 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tom Tromey , gdb-patches@sourceware.org Errors-To: gdb-patches-bounces@sourceware.org Sender: "Gdb-patches" >>>>> "Tom" == Tom de Vries writes: Tom> 2021-01-28 Tom de Vries Tom> PR exp/27265 Tom> * valarith.c (scalar_binop): Don't call complex_binop unless Tom> arguments are either complex or can be casted to complex. Thanks for doing this. Tom> + if ((type1->code () == TYPE_CODE_COMPLEX Tom> + && (type2->code () == TYPE_CODE_COMPLEX Tom> + || type2->code () == TYPE_CODE_INT Tom> + || type2->code () == TYPE_CODE_FLT)) Tom> + || ((type2->code () == TYPE_CODE_COMPLEX Tom> + && (type1->code () == TYPE_CODE_COMPLEX Tom> + || type1->code () == TYPE_CODE_INT Tom> + || type1->code () == TYPE_CODE_FLT)))) Tom> return complex_binop (arg1, arg2, op); Maybe it should use is_floating_type || is_integral_type instead? is_scalar_type sounds like it should be right but does something really different instead. That function looks suspect to me. This approach would still rule out fixed point. I'm not sure if that's ok to do though. Also weirdly, is_fixed_point_type looks through TYPE_CODE_RANGE (seems reasonable) but is_integral_type does not (seems wrong). thanks, Tom