[gcc r14-8064] gccrs: compile: bail on labelled block

Arthur Cohen cohenarthur@gcc.gnu.org
Tue Jan 16 18:15:29 GMT 2024


https://gcc.gnu.org/g:4331ce6917af68576a28b4f1d831948c579b36f6

commit r14-8064-g4331ce6917af68576a28b4f1d831948c579b36f6
Author: Jakub Dupak <dev@jakubdupak.com>
Date:   Mon Oct 16 15:33:19 2023 +0200

    gccrs: compile: bail on labelled block
    
    gcc/rust/ChangeLog:
    
            * backend/rust-compile-expr.cc (CompileExpr::visit): Bail on labelled block.
    
    Signed-off-by: Jakub Dupak <dev@jakubdupak.com>

Diff:
---
 gcc/rust/backend/rust-compile-expr.cc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gcc/rust/backend/rust-compile-expr.cc b/gcc/rust/backend/rust-compile-expr.cc
index 2e4bd57b377..8e64e572bf2 100644
--- a/gcc/rust/backend/rust-compile-expr.cc
+++ b/gcc/rust/backend/rust-compile-expr.cc
@@ -352,6 +352,12 @@ CompileExpr::visit (HIR::IfExprConseqElse &expr)
 void
 CompileExpr::visit (HIR::BlockExpr &expr)
 {
+  if (expr.has_label ())
+    {
+      rust_error_at (expr.get_locus (), "labeled blocks are not supported");
+      return;
+    }
+
   TyTy::BaseType *block_tyty = nullptr;
   if (!ctx->get_tyctx ()->lookup_type (expr.get_mappings ().get_hirid (),
 				       &block_tyty))


More information about the Gcc-cvs mailing list