blob: c1bc17224311d281366e9a43ac0a5f731d6f3a35 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
! { 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
|