Google
 

Trailing-Edge - PDP-10 Archives - BB-4157F-BM_1983 - fortran/test/fortra.ver
There are 6 other files named fortra.ver in the archive. Click here to see a list.
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
!  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

!COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1981,1983

!	VERSION 7	  FORTRA.VER	Jan 83

!	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
!	NAMLST.DAT
!	NAMLST.FOR
!	RANDOM.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,
@EXPUNGE
@
@DELETE IFTHEL.REL,INTFIL.REL,IOEXPR.REL,NAMLST.REL,SUBSTR.REL,
@EXPUNGE
@
@DELETE V7DO.REL,V7LIB.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:FOROT7
@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::


@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,
@EXPUNGE
@
@DELETE IFTHEL.REL,INTFIL.REL,IOEXPR.REL,NAMLST.REL,SUBSTR.REL,
@EXPUNGE
@
@DELETE V7DO.REL,V7LIB.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.