view gcc/testsuite/gfortran.dg/submodule_3.f08 @ 118:fd00160c1b76

ifdef TARGET_64BIT
author mir3636
date Tue, 27 Feb 2018 15:01:35 +0900
parents 04ced10e8804
children
line wrap: on
line source

! { dg-do compile }
! { dg-options "-std=f2003" }
!
! Check enforcement of F2008 standard for MODULE PROCEDURES and SUBMODULES
! This is rather bare-bones to reduce the number of error messages too the
! essential minimum.
!
! Contributed by Paul Thomas  <pault@gcc.gnu.org>
!
 module foo_interface
   implicit none

   interface
     module function array1(this) result (that) ! { dg-error "MODULE prefix" }
     end function ! { dg-error "Expecting END INTERFACE" }
     character(16) module function array2(this, that) ! { dg-error "MODULE prefix" }
     end function ! { dg-error "Expecting END INTERFACE" }
   end interface
 end module

!
  SUBMODULE (foo_interface) foo_interface_son ! { dg-error "SUBMODULE declaration" }
!
  contains ! { dg-error "CONTAINS statement without FUNCTION or SUBROUTINE" }

     module function array1 (this) result(that) ! { dg-error "MODULE prefix" }
     end function ! { dg-error "Expecting END PROGRAM" }

! Test array characteristics for dummy and result are OK for
! abbreviated module procedure declaration.
     module procedure array2 ! { dg-error "must be in a generic module interface" }
     end PROCEDURE ! { dg-error "Expecting END PROGRAM" }

  end SUBMODULE foo_interface_son ! { dg-error "Expecting END PROGRAM" }

end