Google
 

Trailing-Edge - PDP-10 Archives - bb-4157j-bm_fortran20_v11_16mt9 - fortran-test/fortra.ver
There are 6 other files named fortra.ver in the archive. Click here to see a list.
!COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1981, 1987
!ALL RIGHTS RESERVED.
!
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
!ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
!INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
!COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
!OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
!TRANSFERRED.
!
!THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
!AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
!CORPORATION.
!
!DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
!SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.

!	VERSION 11	  FORTRA.VER	May 1986

!	Mini-test of Fortran using UETP

@DEFINE UTP: PS:<UETP.LIB>
@DEFINE DSK: PS:<UETP.FORTRAN>,UTP:


BEGIN::

! Files needed in the UETP area:

!	FORTRA.VER	This file
!	ARRAYS.FOR
!	ASCII.FOR
! 	BINARY.FOR
!	CHARIO.FOR
!	CHFUN.FOR
!	COMEQ.FOR
!	DO.FOR
!	GOTO.FOR
!	IF.FOR
!	IFTHEL.FOR
!	IMAGE.FOR
!	INTFIL.FOR
!	IOEXPR.FOR
!	LIB.FOR
!	LONG.FOR
!	NAMLST.DAT
!	NAMLST.FOR
!	RANDOM.FOR
!	RMSIO.FOR
!	SUBFUN.FOR
!	SUBSTR.FOR
!	T4DDT.FOR
!	V7DO.FOR
!	V7LIB.FOR


@RUN UTP:SENDER
*TYPE START
*BLABEL BEGIN:
*TEST FORTRA
*SEND Start of Fortran test.
*EXIT

!	Clean up area.

@NOERROR
@DELETE ARRAYS.REL,ASCII.LST,ASCII.REL,BINARY.REL,DO.REL,GOTO.REL,
@EXPUNGE
@
@DELETE IF.REL,IMAGE.REL,LIB.REL,RANDOM.REL,SUBFUN.REL,T4DDT.REL,
@EXPUNGE
@
@DELETE CHARIO.REL,CHDATA.REL,CHFUN.REL,COMEQ.REL,LONG.REL,
@EXPUNGE
@
@DELETE IFTHEL.REL,INTFIL.REL,IOEXPR.REL,NAMLST.REL,SUBSTR.REL,
@EXPUNGE
@
@DELETE V7DO.REL,V7LIB.REL,RMS.REL,
@EXPUNGE
@
@DELETE FOR20.DAT,FOR21.DAT,FOR22.DAT,FOR23.DAT,
@EXPUNGE
@
@ERROR


!	Check for all required FORTRAN components on this system.

@GET SYS:FORTRA
@IF (ERROR) @GOTO NOFOR
@INFORMATION VERSION

@GET SYS:FORO11
@IF (ERROR) @GOTO NOFOR
@INFORMATION VERSION

@GET SYS:LINK
@IF (ERROR) @GOTO NOFOR
@INFORMATION VERSION

@ERROR %
@DIRECT SYS:FORTRA.HLP
@IF (ERROR) @GOTO NOFOR
@DIRECT SYS:FORLIB.REL
@IF (ERROR) @GOTO NOFOR
@DIRECT SYS:FORDDT.HLP
@IF (ERROR) @GOTO NOFOR
@DIRECT SYS:FORDDT.REL
@IF (ERROR) @GOTO NOFOR
@ERROR
@GOTO FORT

NOFOR::
!	Complete FORTRAN system not available.
@
@R UTP:SENDER
*BLABEL BEGIN:
*TEST FORTRA
*SEND FORTRAN system not available.
*EXIT
@GOTO END



FORT::
!	Warnings are not permitted either.
@ERROR %

!	Generate a binary (.REL) and listing (.LST) file
!	 and verify that they were produced.
!	Also check the compiler HELP facility.

@R FORTRA
*ASCII,ASCII=ASCII.FOR
@IF (ERROR) @GOTO B1
*/HELP
@IF (ERROR) @GOTO B1
*/EXIT
@IF (ERROR) @GOTO B1

@DIRECT ASCII.LST
@IF (ERROR) @GOTO B1
@DIRECT ASCII.REL
@IF (ERROR) @GOTO B1
@GOTO EX2

B1::
@R UTP:SENDER
*TYPE ERROR
*BLABEL FORT:
*TEST FORTRA
*SEND Errors generating binary or listing file, or getting help.
*EXIT
@GOTO END



EX2::
!	Test to see that all intrinsic functions and Fortran  supplied
!	subroutines exist in FORLIB. If LINK produces an error such
!	as "Undefined Globals", then some of the routines are missing.
!	Program is merely loaded, not executed.

@COMPILE LIB.FOR
@LOAD LIB.REL
@IF (ERROR) @GOTO B2
@GOTO EX3
 
B2::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX2:
*TEST FORTRA
*SEND Problems with or routines missing from FORLIB.REL.
*EXIT
!	Continue the tests in this case.



EX3::
!	Run FORDDT & make sure it works minimally.
!	No errors of any type should appear.

@DEBUG T4DDT.FOR /LANGUAGE-SWITCH:"/DEBUG:ALL"
@IF (ERROR) @GOTO B3
!*T4DDT
@IF (ERROR) @GOTO B3
*HELP
@IF (ERROR) @GOTO B3
*PAUSE 10
@IF (ERROR) @GOTO B3
*START
@IF (ERROR) @GOTO B3
*TYPE X
@IF (ERROR) @GOTO B3
*MODE I
@IF (ERROR) @GOTO B3
*TYPE I
@IF (ERROR) @GOTO B3
*STOP
@IF (ERROR) @GOTO B3
@GOTO EX4
 
B3::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX3:
*TEST FORTRA
*SEND Error in FORDDT test.
*EXIT
!	Continue the tests in this case.



EX4::
!	Test for non-sharable FOROTS.
!	ASCII previously compiled.

@R LINK
*ASCII.REL /OTS:NONSHAR /GO
@START
@IF (ERROR) @GOTO B4
@GOTO EX5
 
B4::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX4:
*TEST FORTRA
*SEND Error in Non-sharable FOROTS test.
*EXIT
!	Continue the tests in this case.



EX5::
!	Try FORDDT with the non-sharable FOROTS.

@COMPILE T4DDT.FOR /COMP /LANGUAGE-SWITCH:"/DEBUG:(DIM,BOU)"
@LINK
*T4DDT.REL /SEG:LOW /DEBUG:FORTRA /OTS:NONSHAR /GO
!*T4DDT
*PAUSE 10
*START
*TYPE X
*CONTINUE
@IF (ERROR) @GOTO B5
@GOTO EX6
 
B5::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX5:
*TEST FORTRA
*SEND Error in FORDDT/Non-sharable FOROTS test.
*EXIT
!	Continue the tests in this case.



EX6::
!	Test arrays.
 
@COMPILE ARRAYS.FOR
@EXECUTE
@IF (ERROR) @GOTO B6
@GOTO EX7
 
B6::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX6:
*TEST FORTRA
*SEND Error in array test.
*EXIT
!	Continue the tests in this case.



EX7::
!	Same only optimized.

@COMPILE ARRAYS.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B7
@GOTO EX8
 
B7::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX7:
*TEST FORTRA
*SEND Error in array test (/OPT).
*EXIT
!	Continue the tests in this case.

 
 
EX8::
!	Test ASCII I/O.
 
@COMPILE ASCII.FOR /COMP
@EXECUTE
@IF (ERROR) @GOTO B8
@GOTO EX9
 
B8::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX8:
*TEST FORTRA
*SEND Error in ASCII I/O TEST.
*EXIT
!	Continue the tests in this case.



EX9::
!	Same only optimized.

@COMPILE ASCII.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B9
@GOTO EX10
 
B9::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX9:
*TEST FORTRA
*SEND Error in ASCII I/O test (/OPT).
*EXIT
!	Continue the tests in this case.

 
 
EX10::
!	Test BINARY I/O.
 
@COMPILE BINARY.FOR
@EXECUTE
@IF (ERROR) @GOTO B10
@GOTO EX11
 
B10::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX10:
*TEST FORTRA
*SEND Error in BINARY I/O test.
*EXIT
!	Continue the tests in this case.



EX11::
!	Same only optimized.

@COMPILE BINARY.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B11
@GOTO EX12
 
B11::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX11:
*TEST FORTRA
*SEND Error in BINARY I/O test (/OPT).
*EXIT
!	Continue the tests in this case.

 
 
EX12::
!	Test DO loops.
 
@COMPILE DO.FOR
@EXECUTE
@IF (ERROR) @GOTO B12
@GOTO EX13
 
B12::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX12:
*TEST FORTRA
*SEND Error in DO loop test.
*EXIT
!	Continue the tests in this case.



EX13::
!	Same only optimized.

@COMPILE DO.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B13
@GOTO EX14
 
B13::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX13:
*TEST FORTRA
*SEND Error in DO loop test (/OPT).
*EXIT
!	Continue the tests in this case.
 
 
EX14::
!	Test GO TO statements.

@COMPILE GOTO.FOR
@EXECUTE
@IF (ERROR) @GOTO B14
@GOTO EX15
 
B14::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX14:
*TEST FORTRA
*SEND Error in GO TO test.
*EXIT
!	Continue the tests in this case.



EX15::
!	Same only optimized.

@COMPILE GOTO.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B15
@GOTO EX16
 
B15::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX15:
*TEST FORTRA
*SEND Error in GO TO  test (/OPT).
*EXIT
!	Continue the tests in this case.

 
 
EX16::
!	Test IF statements.
 
@COMPILE IF.FOR
@EXECUTE
@IF (ERROR) @GOTO B16
@GOTO EX17
 
B16::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX16:
*TEST FORTRA
*SEND Error in IF statement test.
*EXIT
!	Continue the tests in this case.



EX17::
!	Same only optimized.

@COMPILE IF.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B17
@GOTO EX18
 
B17::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX17:
*TEST FORTRA
*SEND Error in IF statement test (/OPT).
*EXIT
!	Continue the tests in this case.

 
 
EX18::
!	Test IMAGE I/O.
 
@COMPILE IMAGE.FOR
@EXECUTE
@IF (ERROR) @GOTO B18
@GOTO EX19
 
B18::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX18:
*TEST FORTRA
*SEND Error in IMAGE I/O test.
*EXIT
!	Continue the tests in this case.



EX19::
!	Same only optimized.

@COMPILE IMAGE.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B19
@GOTO EX20
 
B19::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX19:
*TEST FORTRA
*SEND Error in IMAGE I/O test (/OPT).
*EXIT
!	Continue the tests in this case.

 
 
EX20::
!	Test RANDOM access I/O.
 
@COMPILE RANDOM.FOR
@EXECUTE
@IF (ERROR) @GOTO B20
@GOTO EX21
 
B20::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX20:
*TEST FORTRA
*SEND Error in RANDOM access I/O test.
*EXIT
!	Continue the tests in this case.



EX21::
!	Same only optimized.

@COMPILE RANDOM.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B21
@GOTO EX22
 
B21::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX21:
*TEST FORTRA
*SEND Error in RANDOM access I/O test (/OPT).
*EXIT
!	Continue the tests in this case.

 
 
EX22::
!	Test subroutines and functions.
 
@COMPILE SUBFUN.FOR
@EXECUTE
@IF (ERROR) @GOTO B22
@GOTO EX23
 
B22::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX22:
*TEST FORTRA
*SEND Error in subroutine/function test.
*EXIT
!	Continue the tests in this case.



EX23::
!	Same only optimized.

@COMPILE SUBFUN.FOR /COMP /OPT
@EXECUTE
@IF (ERROR) @GOTO B23
@GOTO EX25
 
B23::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX23:
*TEST FORTRA
*SEND Error in subroutine/function test (/OPT).
*EXIT


EX25::
! Character I/O

@EXECUTE CHARIO.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B25::
@GOTO EX26::

B25::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX25:
*TEST FORTRA
*SEND Error in Character I/O
*EXIT


EX26::
! Character data in DATA stmts

@EXECUTE CHDATA.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B26::
@GOTO EX27::

B26::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX26:
*TEST FORTRA
*SEND Error in Character data in DATA stmts
*EXIT


EX27::
! Character functions

@EXECUTE CHFUN.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B27::
@GOTO EX28::

B27::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX27:
*TEST FORTRA
*SEND Error in Character functions
*EXIT


EX28::
! Character Common / Equivalence

@EXECUTE COMEQ.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B28::
@GOTO EX29::

B28::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX28:
*TEST FORTRA
*SEND Error in Character Common / Equivalence
*EXIT


EX29::
! IF-THEN-ELSE

@EXECUTE IFTHEL.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B29::
@GOTO EX30::

B29::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX29:
*TEST FORTRA
*SEND Error in IF-THEN-ELSE
*EXIT


EX30::
! Expressions in I/O

@EXECUTE IOEXPR.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B30::
@GOTO EX31A::

B30::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX30:
*TEST FORTRA
*SEND Error in Expressions in I/O
*EXIT


EX31A::
! Namelist I/O

@EXECUTE NAMLST.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B31A::
@GOTO EX31B::

B31A::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX31A:
*TEST FORTRA
*SEND Error in Namelist I/O
*EXIT

EX31B::
B31B::

EX32::
! Character substrings

@EXECUTE SUBSTR.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B32::
@GOTO EX33::

B32::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX32:
*TEST FORTRA
*SEND Error in Character substrings
*EXIT


EX33::
! ANSII-77 DO loops

@EXECUTE V7DO.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B33::
@GOTO EX34::

B33::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX33:
*TEST FORTRA
*SEND Error in ANSII-77 DO loops
*EXIT


EX34::
! ANSII-77 library functions

@COMPILE V7LIB.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO B34::
@GOTO EX35::

B34::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX34:
*TEST FORTRA
*SEND Error in ANSII-77 library functions
*EXIT

EX35::

! VMS long symbols

@EXECUTE LONG.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO EX36::
@GOTO EX37::

EX36::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX36:
*TEST FORTRA
*SEND Error in VMS long symbols
*EXIT

EX37::

@EXECUTE LONG.FOR /FORTRAN/COMP/OPT
@IF (ERROR) @GOTO EX38::
@GOTO EX39::

EX38::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX38:
*TEST FORTRA
*SEND Error in VMS long symbols /OPTIMIZE
*EXIT

EX39::

@EXECUTE RMSIO.FOR /FORTRAN/COMP
@IF (ERROR) @GOTO EX40::
@GOTO EX41::

EX40::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX40:
*TEST FORTRA
*SEND Error in RMS I/O
*EXIT

EX41::

@EXECUTE RMSIO.FOR /FORTRAN/COMP/OPT
@IF (ERROR) @GOTO EX42::
@GOTO EX43::

EX42::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX42:
*TEST FORTRA
*SEND Error in RMS I/O /OPTIMIZE
*EXIT

EX43::

@GOTO END
 
 

%ERR::
@GOTO UERR

UERR::
!	An unexpected error occured somewhere.
@
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL ERR:
*TEST FORTRA
*SEND Unknown Fortran error - check .LOG file.
*EXIT
@GOTO END



END::
!	Cleanup and finish

@NOERROR
@DELETE ARRAYS.REL,ASCII.LST,ASCII.REL,BINARY.REL,DO.REL,GOTO.REL,
@EXPUNGE
@
@DELETE IF.REL,IMAGE.REL,LIB.REL,RANDOM.REL,SUBFUN.REL,T4DDT.REL,
@EXPUNGE
@
@DELETE CHARIO.REL,CHDATA.REL,CHFUN.REL,COMEQ.REL,LONG.REL
@EXPUNGE
@
@DELETE IFTHEL.REL,INTFIL.REL,IOEXPR.REL,NAMLST.REL,SUBSTR.REL,
@EXPUNGE
@
@DELETE V7DO.REL,V7LIB.REL,RMSIO.REL
@EXPUNGE
@
@DELETE FOR20.DAT,FOR21.DAT,FOR22.DAT,FOR23.DAT,
@EXPUNGE
@
@ERROR

@RUN UTP:SENDER
*TYPE END
*BLABEL END:
*TEST FORTRA
*SEND End of FORTRAN test.
*EXIT
 
%FIN::

!	End of tests.