Files
clang-p2996/flang/test/Lower/module-and-internal-proc.f90
Valentin Clement b38e78cc44 [flang][NFC] Add module lowering tests
This patch adds test for the lowering of Fortran modules.

This patch is part of the upstreaming effort from fir-dev branch.

Reviewed By: PeteSteinfeld

Differential Revision: https://reviews.llvm.org/D122317

Co-authored-by: Jean Perier <jperier@nvidia.com>
Co-authored-by: Eric Schweitz <eschweitz@nvidia.com>
2022-03-23 17:51:09 +01:00

40 lines
1.0 KiB
Fortran

! Test that module data access are lowered correctly in the different
! procedure contexts.
! RUN: bbc -emit-fir %s -o - | FileCheck %s
module parent
integer :: i
contains
! Test simple access to the module data
! CHECK-LABEL: func @_QMparentPtest1
subroutine test1()
! CHECK: fir.address_of(@_QMparentEi) : !fir.ref<i32>
print *, i
end subroutine
! Test access to the module data inside an internal procedure where the
! host is defined inside the module.
subroutine test2()
call test2internal()
contains
! CHECK-LABEL: func @_QMparentFtest2Ptest2internal()
subroutine test2internal()
! CHECK: fir.address_of(@_QMparentEi) : !fir.ref<i32>
print *, i
end subroutine
end subroutine
end module
! Test access to the module data inside an internal procedure where the
! host is using the module.
subroutine test3()
use parent
call test3internal()
contains
! CHECK-LABEL: func @_QFtest3Ptest3internal()
subroutine test3internal()
! CHECK: fir.address_of(@_QMparentEi) : !fir.ref<i32>
print *, i
end subroutine
end subroutine