brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 025a64b Raw
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