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

commit ee968ae01895c31e1e9f2208bf555142cdbed57e
Author: Mikael Morin <mik...@gcc.gnu.org>
Date:   Fri Mar 7 10:22:58 2025 +0100

    Correction régression PR100040.f90

Diff:
---
 gcc/fortran/trans-stmt.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/fortran/trans-stmt.cc b/gcc/fortran/trans-stmt.cc
index 53237a34f0ba..dfa0b6d7a610 100644
--- a/gcc/fortran/trans-stmt.cc
+++ b/gcc/fortran/trans-stmt.cc
@@ -3828,8 +3828,10 @@ gfc_trans_select_rank_cases (gfc_code * code)
   /* Calculate the switch expression.  */
   gfc_init_se (&se, NULL);
   gfc_conv_expr_descriptor (&se, code->expr1);
+  gfc_add_block_to_block (&block, &se.pre);
   rank = gfc_conv_descriptor_rank_get (se.expr);
   rank = gfc_evaluate_now (rank, &block);
+  gfc_add_block_to_block (&block, &se.post);
   symbol_attribute attr = gfc_expr_attr (code->expr1);
   if (!attr.pointer && !attr.allocatable)
     {

Reply via email to