Google
 

Trailing-Edge - PDP-10 Archives - BB-D480C-SB_1981 - 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) 1981 BY DIGITAL EQUIPMENT CORPORATION

;	VERSION 6	  FORTRA.VER	March 81

;	Mini-test of Fortran using UETP

.R SETSRC
*CP [5,33,FORTRA]
*LIB:[5,33]
*SCAN
*^Z

.SET DEFAULT PROTECTION <000>


BEGIN::

; Files needed in the UTP: area:
;	FORTRA.VER	This file
;	FORTRA.SFD	Work area must be protected <777>
;	ARRAYS.FOR
;	ASCII.FOR
;	BINARY.FOR
;	DO.FOR
;	GOTO.FOR
;	IF.FOR
;	IMAGE.FOR
;	LIB.FOR
;	RANDOM.FOR
;	SUBFUN.FOR
;	T4DDT.FOR

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

;	Clean up

.NOERROR
.DELETE ARRAYS.REL,ASCII.LST,ASCII.REL,BINARY.REL,DO.REL,GOTO.REL,IF.REL
.DELETE IMAGE.REL,LIB.REL,RANDOM.REL,SUBFUN.REL,T4DDT.REL
.DELETE FOR20.DAT,FOR21.DAT,FOR22.DAT,FOR23.DAT
.ERROR

;	Check for all required FORTRAN components on this system.

.GET SYS:FORTRA
.IF (ERROR) .GOTO NOFOR
.VERSION
.GET SYS:FORTB.EXE
.IF (ERROR) .GOTO NOFOR
.VERSION
.GET SYS:FORTC.EXE
.IF (ERROR) .GOTO NOFOR
.VERSION
.GET SYS:FORTD.EXE
.IF (ERROR) .GOTO NOFOR
.VERSION
.GET SYS:FORTE.EXE
.IF (ERROR) .GOTO NOFOR
.VERSION
.GET SYS:FORTF.EXE
.IF (ERROR) .GOTO NOFOR
.VERSION
.GET SYS:FORTG.EXE
.IF (ERROR) .GOTO NOFOR
.VERSION
.GET SYS:FOROT6.EXE
.IF (ERROR) .GOTO NOFOR
.VERSION

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

NOFOR::
;	Complete FORTRAN system not available.
.
.RUN 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
*^Z
.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.
;	Progam 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 /DEBUG:ALL
*T4DDT
*HELP
*PAUSE 10
*START
*TYPE X
*MODE I
*TYPE I
*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 /DEBUG:(DIM,BOU)
.R 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 END
 
B23::
.R UTP:SENDER
*TYPE ERROR
*BLABEL EX23:
*TEST FORTRA
*SEND Error in subroutine/function test (/OPT).
*EXIT
.GOTO END
 
 

%CERR::
.GOTO UERR

%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,IF.REL
.DELETE IMAGE.REL,LIB.REL,RANDOM.REL,SUBFUN.REL,T4DDT.REL
.DELETE FOR20.DAT,FOR21.DAT,FOR22.DAT,FOR23.DAT
.ERROR

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

;	End of tests.