aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/hir/rust-ast-lower.cc
diff options
context:
space:
mode:
authorPhilip Herron <philip.herron@embecosm.com>2022-01-21 20:16:38 +0000
committerPhilip Herron <philip.herron@embecosm.com>2022-01-21 20:42:09 +0000
commite77f051369efce4207c965ab2b69c5d9867c5846 (patch)
treec8f2157e6a3abf4d6bfc4ac2e81498127c88e1c9 /gcc/rust/hir/rust-ast-lower.cc
parenta6c5dbadc3c9023821244bd4af4e78ad9d8f63f2 (diff)
downloadgcc-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.cc18
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