xref: /llvm-project/flang/test/Lower/memory-alloc.f90 (revision f35f863a88f83332bef9605ef4cfe4f05c066efb)
1*f35f863aSjeanPerier! RUN: bbc -hlfir=false -o - %s | FileCheck %s
2411f839aSValentin Clement
3411f839aSValentin Clement! CHECK-LABEL: func @_QMw0bPtest1(
4411f839aSValentin Clement! CHECK: %[[TWO:.*]] = arith.constant 2 : index
5411f839aSValentin Clement! CHECK: %[[HEAP:.*]] = fir.allocmem !fir.array<?x!fir.logical<4>>, %[[TWO]] {uniq_name = ".array.expr"}
6411f839aSValentin Clement! CHECK: fir.freemem %[[HEAP]] : !fir.heap<!fir.array<?x!fir.logical<4>>>
7411f839aSValentin Clement
8411f839aSValentin ClementModule w0b
9411f839aSValentin Clement  Integer,Parameter :: a(*,*) = Reshape( [ 1,2,3,4 ], [ 2,2 ])
10411f839aSValentin Clementcontains
11411f839aSValentin Clement  Subroutine test1(i,expect)
12411f839aSValentin Clement    Integer,Intent(In) :: i,expect(:)
13411f839aSValentin Clement    Logical :: ok = .True.
14411f839aSValentin Clement    If (Any(a(:,i)/=expect)) Then
15411f839aSValentin Clement      !Print *,'FAIL 1:',a(:,i),'/=',expect
16411f839aSValentin Clement      ok = .False.
17411f839aSValentin Clement    End If
18411f839aSValentin Clement  End Subroutine
19411f839aSValentin ClementEnd Module
20