From: Owen Avery <powerboat9.ga...@gmail.com>

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>
---
 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

Reply via email to