blob: ccb56e2cdc23481cb7b6185d420dffde22e81ea0 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-std=f95" }
! PR fortran/31472
! Access specifications: Invalid Fortran 95 code
module test
implicit none
integer, public :: x
public :: x ! { dg-error "was already specified" }
private :: x ! { dg-error "was already specified" }
end module test
module mod
implicit none
private
type, public :: bar
PRIVATE
integer, public :: y ! { dg-error "Fortran 2003: Attribute PUBLIC" }
integer, public :: z ! { dg-error "Fortran 2003: Attribute PUBLIC" }
end type ! { dg-error "Derived type definition at" }
contains
subroutine foo
integer :: x
private :: x ! { dg-error "only allowed in the specification part of a module" }
type, private :: t ! { dg-error "only be PRIVATE in the specification part of a module" }
integer :: z
end type t ! { dg-error "Expecting END SUBROUTINE statement" }
type :: ttt
integer,public :: z ! { dg-error "not allowed outside of the specification part of a module" }
end type ttt ! { dg-error "Derived type definition at" }
end subroutine
end module
program x
implicit none
integer :: i
public :: i ! { dg-error "only allowed in the specification part of a module" }
integer,public :: j ! { dg-error "not allowed outside of the specification part of a module" }
end program x