From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#46670: 28.0.50; [feature/native-comp] possible miscompilation affecting lsp-mode Date: Mon, 22 Feb 2021 13:12:36 +0000 Message-ID: References: <87a6ry46uc.fsf@collares.org> Reply-To: Andrea Corallo Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11068"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) Cc: 46670@debbugs.gnu.org, Mauricio Collares To: Pip Cet Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Feb 22 14:14:34 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lEB2n-0002jC-MS for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 22 Feb 2021 14:14:33 +0100 Original-Received: from localhost ([::1]:59674 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lEB2m-0004zj-Jt for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 22 Feb 2021 08:14:32 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58440) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lEB1M-0004F0-Im for bug-gnu-emacs@gnu.org; Mon, 22 Feb 2021 08:13:05 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:44461) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lEB1K-0008MG-43 for bug-gnu-emacs@gnu.org; Mon, 22 Feb 2021 08:13:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lEB1J-00074j-Tk for bug-gnu-emacs@gnu.org; Mon, 22 Feb 2021 08:13:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Andrea Corallo Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Feb 2021 13:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46670 X-GNU-PR-Package: emacs Original-Received: via spool by 46670-submit@debbugs.gnu.org id=B46670.161399956527174 (code B ref 46670); Mon, 22 Feb 2021 13:13:01 +0000 Original-Received: (at 46670) by debbugs.gnu.org; 22 Feb 2021 13:12:45 +0000 Original-Received: from localhost ([127.0.0.1]:56007 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lEB12-00074D-Qd for submit@debbugs.gnu.org; Mon, 22 Feb 2021 08:12:45 -0500 Original-Received: from mx.sdf.org ([205.166.94.24]:59186) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lEB0z-000744-TB for 46670@debbugs.gnu.org; Mon, 22 Feb 2021 08:12:43 -0500 Original-Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 11MDCaV9005827 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Mon, 22 Feb 2021 13:12:36 GMT In-Reply-To: (Pip Cet's message of "Mon, 22 Feb 2021 12:11:59 +0000") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:200565 Archived-At: Pip Cet writes: > On Mon, Feb 22, 2021 at 11:23 AM Andrea Corallo wrote: >> Pip Cet writes: >> > On Mon, Feb 22, 2021 at 10:04 AM Pip Cet wrote: >> > (Except for this one: >> > >> > ((defun comp-tests-ret-type-spec-f (x) >> > (unless (symbolp x) >> > x)) >> > (not symbol)) >> > >> > If I'm reading that correctly, it tests that (unless (symbolp x) x) >> > isn't a symbol, which it usually is) >> >> Yep, it verifies that this function has as inferred return type (not >> symbol). > > Which means the return value shouldn't ever be a symbol, right? > Because it's nil, which is a symbol, when (symbolp x). Am I missing > something here? Sorry I though the question was on the test mechanism and wasn't pay attention to the specific testcase content :/ Right that's clearly a bug in `comp-cstr-union-1-no-mem' that was missing to check that no negative type is shadowing any positive type coming from values and giving-up returning t in case). Good catch thanks! :) Should be fixed by d6227f6edc. Andrea PS as I see you are interested into this part of the compiler, I find typically handy to exercise this logic with like: (let ((comp-ctxt (make-comp-cstr-ctxt))) (comp-cstr-to-type-spec (comp-type-spec-to-cstr '(or (not symbol) null)))) We'll probably see other bugs in this area cause is tricky, is important we build the best coverage we can for this in the testsuite.