public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc/devel/rust/master] backend: correctly formulate the exit condition ...
@ 2022-09-12  7:20 Thomas Schwinge
  0 siblings, 0 replies; only message in thread
From: Thomas Schwinge @ 2022-09-12  7:20 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:bed01725c1c6a7a463a9b42082ef91a5406588ec

commit bed01725c1c6a7a463a9b42082ef91a5406588ec
Author: liushuyu <liushuyu011@gmail.com>
Date:   Mon Sep 5 17:56:03 2022 -0600

    backend: correctly formulate the exit condition ...
    
    ... previously the exit condition was treated the same as the loop
    condition (which is the inverse condition of the exit condition). Now
    this is corrected.

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

diff --git a/gcc/rust/backend/rust-compile-expr.cc b/gcc/rust/backend/rust-compile-expr.cc
index e13c08caae4..660ad092b77 100644
--- a/gcc/rust/backend/rust-compile-expr.cc
+++ b/gcc/rust/backend/rust-compile-expr.cc
@@ -727,8 +727,11 @@ CompileExpr::visit (HIR::WhileLoopExpr &expr)
 
   tree condition
     = CompileExpr::Compile (expr.get_predicate_expr ().get (), ctx);
+  tree exit_condition
+    = fold_build1_loc (expr.get_locus ().gcc_location (), TRUTH_NOT_EXPR,
+		       boolean_type_node, condition);
   tree exit_expr
-    = ctx->get_backend ()->exit_expression (condition, expr.get_locus ());
+    = ctx->get_backend ()->exit_expression (exit_condition, expr.get_locus ());
   ctx->add_statement (exit_expr);
 
   tree code_block_stmt

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-12  7:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-12  7:20 [gcc/devel/rust/master] backend: correctly formulate the exit condition Thomas Schwinge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).