30 lines
1.1 KiB
Fortran
30 lines
1.1 KiB
Fortran
! { dg-do compile }
|
|
! Tests fix for PR26107 in which an ICE would occur after the second
|
|
! error message below. This resulted from a spurious attempt to
|
|
! produce the third error message, without the name of the function.
|
|
!
|
|
! This is an expanded version of the testcase in the PR.
|
|
!
|
|
pure function equals(self, & ! { dg-error "must be INTENT" }
|
|
string, ignore_case) result(same)
|
|
character(*), intent(in) :: string
|
|
integer(4), intent(in) :: ignore_case
|
|
integer(4) :: same
|
|
if (len (self) < 1) return ! { dg-error "must be CHARACTER" }
|
|
same = 1
|
|
end function
|
|
|
|
function impure(self) result(ival)
|
|
character(*), intent(in) :: self
|
|
ival = 1
|
|
end function
|
|
|
|
pure function purity(self, string, ignore_case) result(same)
|
|
character(*), intent(in) :: self
|
|
character(*), intent(in) :: string
|
|
integer(4), intent(in) :: ignore_case
|
|
integer i
|
|
if (end > impure (self)) & ! { dg-error "non-PURE procedure" }
|
|
return
|
|
end function
|