! Test that actual logical arguments convert to the right kind when it is non-default ! RUN: %flang_fc1 -fdebug-unparse %s 2>&1 | FileCheck %s ! RUN: %flang_fc1 -fdebug-unparse -fdefault-integer-8 %s 2>&1 | FileCheck %s --check-prefixes CHECK-8 module m interface foog subroutine foo4(l) logical(kind=4), intent(in) :: l end subroutine foo4 subroutine foo8(l) logical(kind=8), intent(in) :: l end subroutine foo8 end interface foog end module m program main use m integer :: x(10), y ! CHECK: CALL foo(.true._4) ! CHECK-8: CALL foo(logical(.true._4,kind=8)) call foo(1 < 2) ! CHECK: CALL fooa(x>y) ! CHECK-8: CALL fooa(logical(x>y,kind=8)) call fooa(x > y) ! Ensure that calls to interfaces call the correct subroutine ! CHECK: CALL foo4(.true._4) ! CHECK-8: CALL foo8(.true._8) call foog(.true.) contains subroutine foo(l) logical :: l end subroutine foo subroutine fooa(l) logical :: l(10) end subroutine fooa end program main