aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/parse/rust-parse-impl.h
diff options
context:
space:
mode:
authorOwen Avery <powerboat9.gamer@gmail.com>2024-03-26 15:58:48 -0400
committerP-E-P <32375388+P-E-P@users.noreply.github.com>2024-03-27 12:38:45 +0000
commit01092b83913733d26f2c4d9bfdc22ff2eb0b0bbb (patch)
treee9eb1b242631c53b42de04285da7ae0edaef365b /gcc/rust/parse/rust-parse-impl.h
parentfd621e11334faecd220b8d1e3e8e2fc18d55d0e7 (diff)
downloadgcc-01092b83913733d26f2c4d9bfdc22ff2eb0b0bbb.zip
gcc-01092b83913733d26f2c4d9bfdc22ff2eb0b0bbb.tar.gz
gcc-01092b83913733d26f2c4d9bfdc22ff2eb0b0bbb.tar.bz2
Avoid parsing const unsafe/extern functions as async
gcc/rust/ChangeLog: * parse/rust-parse-impl.h (Parser::parse_vis_item): Call parse_function instead of parse_async_item when finding UNSAFE or EXTERN_KW during lookahead. gcc/testsuite/ChangeLog: * rust/compile/func-const-unsafe.rs: New test. Signed-off-by: Owen Avery <powerboat9.gamer@gmail.com>
Diffstat (limited to 'gcc/rust/parse/rust-parse-impl.h')
-rw-r--r--gcc/rust/parse/rust-parse-impl.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/rust/parse/rust-parse-impl.h b/gcc/rust/parse/rust-parse-impl.h
index b6c2ca3..263ca63 100644
--- a/gcc/rust/parse/rust-parse-impl.h
+++ b/gcc/rust/parse/rust-parse-impl.h
@@ -1382,10 +1382,10 @@ Parser<ManagedTokenSource>::parse_vis_item (AST::AttrVec outer_attrs)
case IDENTIFIER:
case UNDERSCORE:
return parse_const_item (std::move (vis), std::move (outer_attrs));
- case UNSAFE:
- case EXTERN_KW:
case ASYNC:
return parse_async_item (std::move (vis), std::move (outer_attrs));
+ case UNSAFE:
+ case EXTERN_KW:
case FN_KW:
return parse_function (std::move (vis), std::move (outer_attrs));
default: