82 lines · plain
1! Test that temps are always created of parenthesized arguments in2! calls.3! RUN: bbc -emit-hlfir %s -o - | FileCheck %s4 5! CHECK-LABEL: func @_QPfoo_num_scalar(6subroutine foo_num_scalar(x)7 integer :: x8 call bar_num_scalar(x)9! CHECK-NOT: fir.load10! CHECK: fir.call @_QPbar_num_scalar(11 call bar_num_scalar((x))12! CHECK: fir.load13! CHECK: fir.call @_QPbar_num_scalar(14end subroutine15 16! CHECK-LABEL: func @_QPfoo_char_scalar(17subroutine foo_char_scalar(x)18 character(5) :: x19! CHECK-NOT: hlfir.as_expr20! CHECK: fir.call @_QPbar_char_scalar(21 call bar_char_scalar(x)22! CHECK: hlfir.as_expr23! CHECK: fir.call @_QPbar_char_scalar(24 call bar_char_scalar((x))25end subroutine26 27! CHECK-LABEL: func @_QPfoo_num_array(28subroutine foo_num_array(x)29 integer :: x(100)30 call bar_num_array(x)31! CHECK-NOT: hlfir.elemental32! CHECK: fir.call @_QPbar_num_array(33 call bar_num_array((x))34! CHECK: hlfir.elemental35! CHECK: fir.call @_QPbar_num_array(36end subroutine37 38! CHECK-LABEL: func @_QPfoo_char_array(39subroutine foo_char_array(x)40 character(10) :: x(100)41 call bar_char_array(x)42! CHECK-NOT: hlfir.elemental43! CHECK: fir.call @_QPbar_char_array(44 call bar_char_array((x))45! CHECK: hlfir.elemental46! CHECK: fir.call @_QPbar_char_array(47end subroutine48 49! CHECK-LABEL: func @_QPfoo_num_array_box(50subroutine foo_num_array_box(x)51 integer :: x(100)52 interface53 subroutine bar_num_array_box(x)54 integer :: x(:)55 end subroutine56 end interface57 call bar_num_array_box(x)58! CHECK-NOT: hlfir.elemental59! CHECK: fir.call @_QPbar_num_array_box(60 call bar_num_array_box((x))61! CHECK: hlfir.elemental62! CHECK: fir.call @_QPbar_num_array_box(63end subroutine64 65! CHECK-LABEL: func @_QPfoo_char_array_box(66subroutine foo_char_array_box(x, n)67 68 integer :: n69 character(10) :: x(n)70 interface71 subroutine bar_char_array_box(x)72 character(*) :: x(:)73 end subroutine74 end interface75 call bar_char_array_box(x)76! CHECK-NOT: hlfir.elemental77! CHECK: fir.call @_QPbar_char_array_box(78 call bar_char_array_box((x))79! CHECK: hlfir.elemental80! CHECK: fir.call @_QPbar_char_array_box(81end subroutine82