diff options
author | Philip Herron <philip.herron@embecosm.com> | 2022-01-21 20:16:38 +0000 |
---|---|---|
committer | Philip Herron <philip.herron@embecosm.com> | 2022-01-21 20:42:09 +0000 |
commit | e77f051369efce4207c965ab2b69c5d9867c5846 (patch) | |
tree | c8f2157e6a3abf4d6bfc4ac2e81498127c88e1c9 /gcc/rust/hir/rust-ast-lower.cc | |
parent | a6c5dbadc3c9023821244bd4af4e78ad9d8f63f2 (diff) | |
download | gcc-e77f051369efce4207c965ab2b69c5d9867c5846.zip gcc-e77f051369efce4207c965ab2b69c5d9867c5846.tar.gz gcc-e77f051369efce4207c965ab2b69c5d9867c5846.tar.bz2 |
Extract AsyncConstStatus to be a shared enum between AST and HIR
This allows us to reuse the same enum and fix the uninitilized warning
as it has already been setup before hand in the AST.
Fixes #875
Diffstat (limited to 'gcc/rust/hir/rust-ast-lower.cc')
-rw-r--r-- | gcc/rust/hir/rust-ast-lower.cc | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/gcc/rust/hir/rust-ast-lower.cc b/gcc/rust/hir/rust-ast-lower.cc index d6f5cf2..87fc523 100644 --- a/gcc/rust/hir/rust-ast-lower.cc +++ b/gcc/rust/hir/rust-ast-lower.cc @@ -597,20 +597,6 @@ struct_field_name_exists (std::vector<HIR::StructField> &fields, HIR::FunctionQualifiers ASTLoweringBase::lower_qualifiers (const AST::FunctionQualifiers &qualifiers) { - HIR::FunctionQualifiers::AsyncConstStatus const_status; - switch (qualifiers.get_const_status ()) - { - case AST::FunctionQualifiers::AsyncConstStatus::NONE: - const_status = HIR::FunctionQualifiers::AsyncConstStatus::NONE; - break; - case AST::FunctionQualifiers::AsyncConstStatus::CONST: - const_status = HIR::FunctionQualifiers::AsyncConstStatus::CONST; - break; - case AST::FunctionQualifiers::AsyncConstStatus::ASYNC: - const_status = HIR::FunctionQualifiers::AsyncConstStatus::ASYNC; - break; - } - Unsafety unsafety = qualifiers.is_unsafe () ? Unsafety::Unsafe : Unsafety::Normal; bool has_extern = qualifiers.is_extern (); @@ -618,8 +604,8 @@ ASTLoweringBase::lower_qualifiers (const AST::FunctionQualifiers &qualifiers) // FIXME turn this into the Rust::ABI enum std::string extern_abi = qualifiers.get_extern_abi (); - return HIR::FunctionQualifiers (const_status, unsafety, has_extern, - extern_abi); + return HIR::FunctionQualifiers (qualifiers.get_const_status (), unsafety, + has_extern, extern_abi); } } // namespace HIR |