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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [testsuite/] [gfortran.dg/] [implicit_2.f90] - Blame information for rev 826

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 302 jeremybenn
! { dg-do compile }
2
 
3
module implicit_2
4
  ! This should cause an error if function types are resolved from the
5
  ! module namespace.
6
  implicit none
7
  type t
8
    integer i
9
  end type
10
contains
11
! This caused an ICE because we were trying to apply the implicit type
12
! after we had applied the explicit type.
13
subroutine test()
14
  implicit type (t) (v)
15
  type (t) v1, v2
16
  v1%i = 1
17
  call foo (v2%i)
18
end subroutine
19
 
20
! A similar error because we failed to apply the implicit type to a function.
21
! This is a contained function to check we lookup the type in the function
22
! namespace, not it's parent.
23
function f() result (val)
24
  implicit type (t) (v)
25
 
26
  val%i = 1
27
end function
28
 
29
! And again for a result variable.
30
function fun()
31
  implicit type (t) (f)
32
 
33
  fun%i = 1
34
end function
35
 
36
! intrinsic types are resolved later than derived type, so check those as well.
37
function test2()
38
  implicit integer (t)
39
  test2 = 42
40
end function
41
subroutine bar()
42
  ! Check that implicit types are applied to names already known to be
43
  ! variables.
44
  implicit type(t) (v)
45
  save v
46
  v%i = 42
47
end subroutine
48
end module
49
 
50
! { dg-final { cleanup-modules "implicit_2" } }

powered by: WebSVN 2.1.0

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