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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gfortran.dg/] [keyword_symbol_1.f90] - Blame information for rev 694

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 694 jeremybenn
! { dg-do compile }
2
! This tests the fix for PR28526, in which a public interface named
3
! 'end' would be treated as a variable because the matcher tried
4
! 'END INTERFACE' as an assignment and left the symbol modified in
5
! failing. The various pitfalls that were encountered in developing
6
! the fix are checked here.
7
!
8
! Contributed by Paul Thomas  
9
!
10
module blahblah
11
  public function, end
12
 
13
! The original PR from Yusuke IGUCHI 
14
  interface end
15
    module procedure foo1
16
  end interface
17
 
18
! A contribution to the PR from Tobias Schlueter  
19
  interface function
20
     module procedure foo2 ! { dg-error "is neither function nor" }
21
  end interface
22
 
23
  interface function
24
     module procedure foo3
25
  end interface
26
 
27
  interface
28
    function foo4 ()
29
      real foo4
30
      x = 1.0          ! { dg-error "in INTERFACE" }
31
    end function foo4
32
  end interface
33
 
34
  interface
35
    x = 2.0            ! { dg-error "in INTERFACE block" }
36
    function foo5 ()
37
      real foo5
38
    end function foo5
39
  end interface
40
 
41
  x = 3.0              ! { dg-error "in MODULE" }
42
 
43
contains
44
 
45
  subroutine foo1
46
  end subroutine foo1
47
 
48
  function foo2        ! { dg-error "Expected formal argument list" }
49
    foo2 = 0           ! { dg-error "already been host associated" }
50
  end function foo2    ! { dg-error "Expecting END MODULE" }
51
 
52
  function foo3 ()
53
    real foo3
54
  end function foo3
55
 
56
  x = 4.0              ! { dg-error "in CONTAINS section" }
57
end module blahblah

powered by: WebSVN 2.1.0

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