From: Owen Avery <[email protected]>
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 <[email protected]>
---
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 8918ef8a007..fd371ea0cd9 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)));
}
--
2.49.0