aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-compile-block.h
diff options
context:
space:
mode:
authorPhilip Herron <philip.herron@embecosm.com>2022-10-19 18:02:36 +0100
committerArthur Cohen <arthur.cohen@embecosm.com>2023-02-21 12:36:40 +0100
commit699e7e862763199a0360c47f6d5ddd26a21517ce (patch)
tree8b45e8570e7f90bfa7d99a398ed04fdf34513ab6 /gcc/rust/backend/rust-compile-block.h
parent740a1997228d0b568afa11b1afe89128d9afff37 (diff)
downloadgcc-699e7e862763199a0360c47f6d5ddd26a21517ce.zip
gcc-699e7e862763199a0360c47f6d5ddd26a21517ce.tar.gz
gcc-699e7e862763199a0360c47f6d5ddd26a21517ce.tar.bz2
gccrs: Closure support at CallExpr
gcc/rust/ChangeLog: * backend/rust-compile-context.h: Add new functions: `insert_closure_decl` and `lookup_closure_decl`. * backend/rust-compile-expr.cc (CompileExpr::visit): Start compiling Closures properly. (CompileExpr::generate_closure_function): New function. (CompileExpr::generate_closure_fntype): Likewise. * backend/rust-compile-expr.h: Declare `generate_closure_function` and `generate_closure_fntype`. * backend/rust-compile-type.cc (TyTyResolveCompile::visit): Visit closure types properly. * backend/rust-mangle.cc (legacy_mangle_name): Add support for closures. * backend/rust-tree.h (RS_CLOSURE_FLAG): Add new tree macro. (RS_CLOSURE_TYPE_P): And checking for it on tree nodes. * typecheck/rust-tyty.cc (ClosureType::is_equal): Add implementation. gcc/testsuite/ChangeLog: * rust/execute/torture/closure1.rs: New test.
Diffstat (limited to 'gcc/rust/backend/rust-compile-block.h')
0 files changed, 0 insertions, 0 deletions