File: variable-inquiries.f90

package info (click to toggle)
llvm-toolchain-16 1%3A16.0.6-15~deb11u2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,634,820 kB
  • sloc: cpp: 6,179,261; ansic: 1,216,205; asm: 741,319; python: 196,614; objc: 75,325; f90: 49,640; lisp: 32,396; pascal: 12,286; sh: 9,394; perl: 7,442; ml: 5,494; awk: 3,523; makefile: 2,723; javascript: 1,206; xml: 886; fortran: 581; cs: 573
file content (21 lines) | stat: -rw-r--r-- 924 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
! Test property inquiries on variables
! RUN: bbc -emit-fir %s -o - | FileCheck %s

module inquired
  real(8), allocatable :: a(:)
end module

! CHECK-LABEL: @_QPissue844()
subroutine issue844()
  use inquired
  ! Verify that evaluate::DescriptorInquiry are made using the symbol mapped
  ! in lowering (the use associated one, and not directly the ultimate
  ! symbol).

  ! CHECK: %[[a:.*]] = fir.address_of(@_QMinquiredEa) : !fir.ref<!fir.box<!fir.heap<!fir.array<?xf64>>>>
  ! CHECK: %[[box_load:.*]] = fir.load %[[a]] : !fir.ref<!fir.box<!fir.heap<!fir.array<?xf64>>>>
  ! CHECK: %[[dim:.*]]:3 = fir.box_dims %[[box_load]], %c0{{.*}} : (!fir.box<!fir.heap<!fir.array<?xf64>>>, index) -> (index, index, index)
  ! CHECK: %[[cast:.*]] = fir.convert %[[dim]]#1 : (index) -> i64
  ! CHECK: fir.call @_FortranAioOutputInteger64(%{{.*}}, %[[cast]]) {{.*}}: (!fir.ref<i8>, i64) -> i1
  print *, size(a, kind=8)
end subroutine