// Test hlfir.assign rewrite in the bufferization pass. // Assign in itself is not transformed, but its operands may be // expressions that are bufferized and must be updated. // RUN: fir-opt %s -bufferize-hlfir | FileCheck %s func.func @keep_attributes(%arg0: !fir.ref>>>>, %arg1: !fir.box>>) { %true = arith.constant true %0 = hlfir.as_expr %arg1 move %true : (!fir.box>>, i1) -> !hlfir.expr<1x!fir.char<1,?>> hlfir.assign %0 to %arg0 realloc keep_lhs_len : !hlfir.expr<1x!fir.char<1,?>>, !fir.ref>>>> return } // CHECK-LABEL: func.func @keep_attributes( // CHECK-SAME: %[[X:.*]]: !fir.ref>>>>, // CHECK-SAME: %[[Y:.*]]: !fir.box>>) { // CHECK: hlfir.assign %[[Y]] to %[[X]] realloc keep_lhs_len : !fir.box>>, !fir.ref>>>>