! RUN: %flang_fc1 -fdebug-unparse %s 2>&1 | FileCheck %s ! Ensures that parentheses are preserved with derived types module m type :: t integer :: n end type contains subroutine sub(x) type(t), intent(in) :: x end subroutine function f(m) type(t), pointer :: f integer, intent(in) :: m type(t), save, target :: res res%n = m f => res end function subroutine test type(t) :: x x = t(1) !CHECK: CALL sub(t(n=1_4)) call sub(t(1)) !CHECK: CALL sub((t(n=1_4))) call sub((t(1))) !CHECK: CALL sub(x) call sub(x) !CHECK: CALL sub((x)) call sub((x)) !CHECK: CALL sub(f(2_4)) call sub(f(2)) !CHECK: CALL sub((f(2_4))) call sub((f(2))) end subroutine end module