blob: 025a64bce520dddbb21c7d95dd95cd5109bc08a5 [file] [log] [blame] [edit]
! Test that temps are always created of parenthesized arguments in
! calls.
! RUN: bbc -emit-hlfir %s -o - | FileCheck %s
! CHECK-LABEL: func @_QPfoo_num_scalar(
subroutine foo_num_scalar(x)
integer :: x
call bar_num_scalar(x)
! CHECK-NOT: fir.load
! CHECK: fir.call @_QPbar_num_scalar(
call bar_num_scalar((x))
! CHECK: fir.load
! CHECK: fir.call @_QPbar_num_scalar(
end subroutine
! CHECK-LABEL: func @_QPfoo_char_scalar(
subroutine foo_char_scalar(x)
character(5) :: x
! CHECK-NOT: hlfir.as_expr
! CHECK: fir.call @_QPbar_char_scalar(
call bar_char_scalar(x)
! CHECK: hlfir.as_expr
! CHECK: fir.call @_QPbar_char_scalar(
call bar_char_scalar((x))
end subroutine
! CHECK-LABEL: func @_QPfoo_num_array(
subroutine foo_num_array(x)
integer :: x(100)
call bar_num_array(x)
! CHECK-NOT: hlfir.elemental
! CHECK: fir.call @_QPbar_num_array(
call bar_num_array((x))
! CHECK: hlfir.elemental
! CHECK: fir.call @_QPbar_num_array(
end subroutine
! CHECK-LABEL: func @_QPfoo_char_array(
subroutine foo_char_array(x)
character(10) :: x(100)
call bar_char_array(x)
! CHECK-NOT: hlfir.elemental
! CHECK: fir.call @_QPbar_char_array(
call bar_char_array((x))
! CHECK: hlfir.elemental
! CHECK: fir.call @_QPbar_char_array(
end subroutine
! CHECK-LABEL: func @_QPfoo_num_array_box(
subroutine foo_num_array_box(x)
integer :: x(100)
interface
subroutine bar_num_array_box(x)
integer :: x(:)
end subroutine
end interface
call bar_num_array_box(x)
! CHECK-NOT: hlfir.elemental
! CHECK: fir.call @_QPbar_num_array_box(
call bar_num_array_box((x))
! CHECK: hlfir.elemental
! CHECK: fir.call @_QPbar_num_array_box(
end subroutine
! CHECK-LABEL: func @_QPfoo_char_array_box(
subroutine foo_char_array_box(x, n)
integer :: n
character(10) :: x(n)
interface
subroutine bar_char_array_box(x)
character(*) :: x(:)
end subroutine
end interface
call bar_char_array_box(x)
! CHECK-NOT: hlfir.elemental
! CHECK: fir.call @_QPbar_char_array_box(
call bar_char_array_box((x))
! CHECK: hlfir.elemental
! CHECK: fir.call @_QPbar_char_array_box(
end subroutine