From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Colascione Newsgroups: gmane.emacs.bugs Subject: bug#47191: 28.0.50; Native compilation branch freeze in cc-mode Date: Mon, 22 Mar 2021 13:01:26 -0400 Message-ID: <24ba3224-9688-4bc7-7577-efed55727fd6@dancol.org> References: <20210317074735.Horde.cYwNxki8H-tCN55W4GORo6y@cloud.cosinux.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------B6BC37ADB5BE80B6B4958027" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2865"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 To: Damien , 47191@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Mar 22 18:04:14 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 1lONyP-0000bc-Hh for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 22 Mar 2021 18:04:14 +0100 Original-Received: from localhost ([::1]:35102 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lONyO-0004vc-Bc for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 22 Mar 2021 13:04:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:34616) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lONwI-0003ug-9R for bug-gnu-emacs@gnu.org; Mon, 22 Mar 2021 13:02:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:46867) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lONwH-0001Ey-SP for bug-gnu-emacs@gnu.org; Mon, 22 Mar 2021 13:02:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lONwH-0005k0-PO for bug-gnu-emacs@gnu.org; Mon, 22 Mar 2021 13:02:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Daniel Colascione Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 22 Mar 2021 17:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 47191 X-GNU-PR-Package: emacs Original-Received: via spool by 47191-submit@debbugs.gnu.org id=B47191.161643249322033 (code B ref 47191); Mon, 22 Mar 2021 17:02:01 +0000 Original-Received: (at 47191) by debbugs.gnu.org; 22 Mar 2021 17:01:33 +0000 Original-Received: from localhost ([127.0.0.1]:58413 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lONvp-0005jI-Ff for submit@debbugs.gnu.org; Mon, 22 Mar 2021 13:01:33 -0400 Original-Received: from dancol.org ([96.126.100.184]:41674) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lONvm-0005j8-4R for 47191@debbugs.gnu.org; Mon, 22 Mar 2021 13:01:31 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=dancol.org; s=x; h=Content-Type:In-Reply-To:MIME-Version:Date:Message-ID:From:References :To:Subject:Sender:Reply-To:Cc: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=h3XdvdKtMdIqAiHorz2hUbBipoM/z9+s91jhtEKJddk=; b=ZN2NSzmX+Xz/ttO9EEcV3+KNpU ssKR5JI6JoJYbogQ2eVFcpYSK4SeRLDCU8t05Q300SV8cV2nUSe3Cuzn3P7Qmt87tqq7mBA0C99N8 MHAakAQmATZWDjt+Ex7ayCa2eRDXPkU3bN6AST4SNwvUDuoHji3nIJ5UXvr4bxo8+t3rlnnW3cY4P tsimLdmLGK9D6SGlEPMEVhYBntt3II02tVZ0MRmtd7uLuExLduCdQ7xLkxX22yj/wLQ1GTa2xYBI+ fIQEzdttKYF9o5wKZtvH2ug8ExD5s48idFyS11dm9ATEgxHHJbMrhOfaAOUTJw/N7+2p3BkkZT0LE 9OB1mQ3Q==; Original-Received: from [97.104.73.87] (port=37746 helo=[192.168.1.148]) by dancol.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1lONvj-0008Go-Pn; Mon, 22 Mar 2021 10:01:28 -0700 In-Reply-To: <20210317074735.Horde.cYwNxki8H-tCN55W4GORo6y@cloud.cosinux.org> Content-Language: en-US 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:202842 Archived-At: This is a multi-part message in MIME format. --------------B6BC37ADB5BE80B6B4958027 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 3/17/21 3:47 AM, Damien wrote: > So I just tested again, with recompiling with `--with-nativecompilation` and I have the exact same behavior. So maybe it is not linked to the compilation branch then. I'll try to reproduce it this weekend on master and maybe bisect it. The following program freezes in Emacs -Q on current master. To repro, start with emacs -Q bad-cc-mode.cpp and scroll down > "Andrea Corallo" akrl@sdf.org – 16 mars 2021 16:35 >> Damien writes: >> >>> Using the native compilation branch, Create tmp.cpp with this: >>> >>> ``` >>> // In state_machine >>> private: auto >>> state_machine::stop_bbbbbbb(states::recording &&s, >>> aaaaaa::bbbbbbb_stopped_reason reason) >>> -> fsm::state_machine< >>> aaaaaa::bbbbbbb::state_machine, >>> std::variant>> aaaaa::bbbb::cccccc::ddddddd::eeeeee::aaaaaa_disconnected, >>> aaaaa::bbbb::cccccc::ddddddd::eeeeee::aaaaaa_state, >>> aaaaa::bbbb::cccccc::ddddddd::eeeeee::aaaaaa_info, >>> aaaaa::bbbb::cccccc::ddddddd::eeeeee::aaaaaa_battery, >>> aaaaa::bbbb::cccccc::ddddddd::eeeeee::account_error, >>> aaaaa::bbbb::cccccc::ddddddd::eeeeee::account_valid>, >>> std::variant>::state >>> ``` >>> >>> Open using `emacs -Q tmp.cpp` and emacs freezes. >> I've just compiled f3abb17118 but I can't reproduce this. >> >> I'm seeing you are compiling with '--with-nativecomp', we have changed >> the flag into '--with-nativecompilation' (yeah sorry) so native >> compilation is disable on your build (should be also listed in >> "Configured features:" if enabled). >> >> Rebuilding f3abb17118 without enabling native compilation I still can't >> reproduce this :( >> >> Thanks >> >> Andrea >> >> > > --------------B6BC37ADB5BE80B6B4958027 Content-Type: text/x-c++src; charset=UTF-8; name="bad-cc-mode.cpp" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="bad-cc-mode.cpp" #include template XXXXXXXXX XXXX::XXXX() { xxxxxx(xxxx, 0, xxxxxx (*xxxx)); } xxxxxxxx xxxxx& xxxxx::xxxxxxxx=(xxx::xxxxxxxxxxx_xxxx xx) { xxxxxx *xxxx = xxxxx(xxx::xxxx(xx)); } xxxxxxxx xxxx xxxxx::xxxx_xxxx(xxxx_x xxxx_xxx, xxxx_x xxxx_xx) xxxxxxxx { xxxx_x xx = xxxx->xxxx(); xxxx_xxx_xxxxxx(xxxx->xxxxxxxx() >= xx + xxxx_xx); xxxx_xxx_xxxxxx(xxxx_xxx <= xx); xx (xxxx_xxx < xx && xxxx_xx) { x* xxxx = xxxx->xxxx(); xxx (xxxx_x xxx = xx + xxxx_xx - 1; xxx >= xxxx_xxx; --xxx) { xx (xxx >= xx) xxx (xxxx[xxx]) x(xxx::xxxx(xxxx[xxx - xxxx_xx])); xxxx xx (xxx >= xxxx_xxx + xxxx_xx) xxxx[xxx] = xxx::xxxx(xxxx[xxx - xxxx_xx]); xxxx xxxx[xxx].~x(); } } } xxxxxxxx xxxx xxxxx::xxxxx_xxxx(xxxx_x xxxx_xxx, xxxx_x xxxx_xx, xxxx_x xx_xxxxxxxxxxx) xxxxxxxx { xx (!xxxx_xx) xxxxxx; xxxx_x xx = xxxx->xxxx(); xxxx_xxx_xxxxxx(xx_xxxxxxxxxxx <= xxxx_xx); xxxx_xxx_xxxxxx(xxxx_xxx <= xx); x* xxxx = xxxx->xxxx(); xxx (xxxx_x xxx = xxxx_xxx; xxx < xx + xxxx_xx; ++xxx) { xx (xxx < xxxx_xxx + xx_xxxxxxxxxxx) { // xx xxx xxxx xxxx xxx xxxxxxxx xx'xx xxxxxxxxxxxx xxxxxxxxxxx. xxxx[xxx] = xxx::xxxx(xxxx[xxx + xxxx_xx]); } xxxx xx (xxx < xxxx_xxx + xxxx_xx) { // xxxx xxxxxxx xxxx'x xxxxxxxxxx xxxxxxxxxxx, xx xxxxxxxxx-xxx // xxxx xxxx xx xxxxxxx. xxx (&xxxx[xxx]) x(xxx::xxxx(xxxx[xxx + xxxx_xx])); } xxxx xx (xxx < xx) { // xxxx xx xxx xxxxxxx xxxxxxxx xxxx[xxx] = xxx::xxxx(xxxx[xxx + xxxx_xx]); } xxxx { // xxxxxxxx xxx xxxx xxx xxx: xxxxxxx xxxx xxxx[xxx].~x(); } } } xxxxxxxx xxxxxxxx xxxxxxxx xxxxx::xxxxxxxx xxxxx::xxxxxxx(xxxxx_xxxxxxxx x, xxxx&&... xxxx) { // xxxx xxx xxxxx: xxxxxxxx xxxxxxxxxxx xxxxx. xxxx_x xxx = xxx::xxxxxxxx(xxxx->xxxxxx(), x); xxxx_x xx = xxxx->xxxx(); // xxxx xxxx xx xxx xxxxx xx xxx xxxxx xxx xxxx xx xxxx xxxx. xxxx->xxxx(1); xxxx->xxxx_xxxx(xxx, 1); // xxxxxxx xxx xxxxxx xxxxxxxxx xxxxxxxxx xxxx xxxxxxx = xxxxx; xxxx xxxxx = xxxxxxxx::xxxxxxxxxx([&]{ xx (!xxxxxxx) xxxx->xxxxx_xxxx(xxx, 1, 0); }); xxx (&xxxx->xxxx()[xxx])(xxx::xxxxxxx(xxxx)...); xxxxxxx = xxxx; xxxx_xxx_xxxxx_xxx_xxxx(&xxxx->xxxxx, &xxxxx::xxxx, xx + 1); } --------------B6BC37ADB5BE80B6B4958027--