blob: 64334e6f0388ff3cf92fa0a20202fff8659f0a43 [file] [log] [blame]
! { dg-do compile }
! { dg-additional-options "-fdump-tree-original" }
!
! PR fortran/105012
! The following case was triggering an ICE because of a clobber
! on the DERFC function decl instead of its result.
module error_function
integer, parameter :: r8 = selected_real_kind(12) ! 8 byte real
contains
SUBROUTINE CALERF_r8(ARG, RESULT, JINT)
integer, parameter :: rk = r8
real(rk), intent(in) :: arg
real(rk), intent(out) :: result
IF (Y .LE. THRESH) THEN
END IF
end SUBROUTINE CALERF_r8
FUNCTION DERFC(X)
integer, parameter :: rk = r8 ! 8 byte real
real(rk), intent(in) :: X
real(rk) :: DERFC
CALL CALERF_r8(X, DERFC, JINT)
END FUNCTION DERFC
end module error_function
! { dg-final { scan-tree-dump-times "CLOBBER" 1 "original" } }
! { dg-final { scan-tree-dump "__result_derfc = {CLOBBER};" "original" } }