From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1643) id E58973839075; Tue, 30 Aug 2022 13:43:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E58973839075 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1661866987; bh=3zU69ua/bGrSfa778uG6/BnJMc6y7IUm8ISaBiJ1J3I=; h=From:To:Subject:Date:From; b=FBxce3LZpjDCekn0cHkkof2akvCATumNB+Iky3zBx6KgT2e6keBD2EL3P491RZHKr T6PJu7KwSs5BafqmFgeQ7Dox1aMnUbvXCA++RLcIYkEN3/E/t47B1OeOfSnOoIQW9e p/Bao42x3/V/3CO4gTbwk49JX+x7H99gqMG65MY0= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Thomas Schwinge To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/rust/master] transcriber: Do not infinite loop if the current parsed node is an error X-Act-Checkin: gcc X-Git-Author: Arthur Cohen X-Git-Refname: refs/heads/devel/rust/master X-Git-Oldrev: 64c7a90934f03630356c76d7aa9ba6978ee4e9e6 X-Git-Newrev: 8dfa9676db0f8660c6c745adb59ef6323dca2341 Message-Id: <20220830134307.E58973839075@sourceware.org> Date: Tue, 30 Aug 2022 13:43:07 +0000 (GMT) List-Id: https://gcc.gnu.org/g:8dfa9676db0f8660c6c745adb59ef6323dca2341 commit 8dfa9676db0f8660c6c745adb59ef6323dca2341 Author: Arthur Cohen Date: Mon Aug 29 16:23:51 2022 +0200 transcriber: Do not infinite loop if the current parsed node is an error Co-authored-by: philberty Diff: --- gcc/rust/expand/rust-macro-expand.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gcc/rust/expand/rust-macro-expand.cc b/gcc/rust/expand/rust-macro-expand.cc index 1d57e394220..d654b2cd84c 100644 --- a/gcc/rust/expand/rust-macro-expand.cc +++ b/gcc/rust/expand/rust-macro-expand.cc @@ -727,6 +727,14 @@ parse_many (Parser &parser, TokenId &delimiter, break; auto node = parse_fn (); + if (node.is_error ()) + { + for (auto err : parser.get_errors ()) + err.emit_error (); + + return AST::ASTFragment::create_error (); + } + nodes.emplace_back (std::move (node)); }