OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc3/] [gcc/] [testsuite/] [gfortran.dg/] [altreturn_3.f90] - Blame information for rev 516

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 302 jeremybenn
! { dg-do run }
2
! { dg-options "-std=legacy" }
3
!
4
! Tests the fix for PR30236, which was due to alternate returns
5
! in generic interfaces causing a segfault.  They now work
6
! correctly.
7
!
8
! Contributed by Brooks Moses 
9
!
10
module arswitch
11
  implicit none
12
  interface gen
13
    module procedure with
14
    module procedure without
15
  end interface
16
contains
17
  subroutine with(i,*)
18
    integer i
19
    if (i>0) then
20
      i = -1
21
      return 1
22
    else
23
      i = -2
24
      return
25
    end if
26
  end subroutine
27
  subroutine without()
28
    return
29
  end subroutine
30
end module
31
 
32
program test
33
  use arswitch
34
  implicit none
35
  integer :: i = 0
36
  call gen (i, *10)
37
  if (i /= -2) call abort ()
38
  i = 2
39
  call gen (i, *20)
40
 10 continue
41
  call abort()
42
 20 continue
43
  if (i /= -1) call abort ()
44
end
45
! { dg-final { cleanup-modules "arswitch" } }

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.