Google
 

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

!	VERSION 6	  FORTRA.VER	March 81

!	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
!	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 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 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:FOROT6
@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
*^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.
!	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"
*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 /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 END
 
B23::
@R UTP:SENDER
*TYPE ERROR
*BLABEL EX23:
*TEST FORTRA
*SEND Error in subroutine/function test (/OPT).
*EXIT
@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 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.