https://gcc.gnu.org/g:2f054b8db9fa548443560a1187c998945fc9634a
commit r16-3005-g2f054b8db9fa548443560a1187c998945fc9634a Author: Owen Avery <powerboat9.ga...@gmail.com> Date: Fri Aug 1 21:27:28 2025 -0400 gccrs: Catch parse failure in parse_path_meta_item gcc/rust/ChangeLog: * ast/rust-ast.cc (AttributeParser::parse_path_meta_item): Catch parse_expr returning nullptr and remove defunct comment. Signed-off-by: Owen Avery <powerboat9.ga...@gmail.com> Diff: --- gcc/rust/ast/rust-ast.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gcc/rust/ast/rust-ast.cc b/gcc/rust/ast/rust-ast.cc index 8918ef8a0073..fd371ea0cd99 100644 --- a/gcc/rust/ast/rust-ast.cc +++ b/gcc/rust/ast/rust-ast.cc @@ -3713,9 +3713,12 @@ AttributeParser::parse_path_meta_item () skip_token (); std::unique_ptr<Expr> expr = parser->parse_expr (); - // stream_pos++; - /* shouldn't be required anymore due to parsing literal actually - * skipping the token */ + + // handle error + // parse_expr should already emit an error and return nullptr + if (!expr) + return nullptr; + return std::unique_ptr<MetaItemPathExpr> ( new MetaItemPathExpr (std::move (path), std::move (expr))); }