
IMP80TESTS is a file of test programs with an obeyfile "TESTCOMP"
to execute them. Subfiles "CT??" are compile time tests whereas
subfile "RT??" should compile and execute with checks and opt.
Subfiles "VS??" are very simple compiler development tests.

Exact functions of each test are:-
CT0   : Tests simple conditional compilation
CT1   :Tests more complex conditional compilation
CT2   :Tests faulting of undeclared string
CT3   :Tests faulting of excessive constant bounds in array
CT4   :Tests further faults in string declarations and FNs
CT5   :Tests faulting of misplaced %ON statement
CT6   :Tests faulting of invalid %OWNRECORD initialising
CT7   :Tests error messages after invalid use of map RECORD
CT8   :Has four unusual type inconsistencies
CT9   :Has 4 errors in external&entrinsic declarations
CT10  : Checks that danging %elses are faulted.
CT11: CHECKS ON RECORDFORMATSPECS.
CT12: Checks that foreign assemblers are ignored when conditionally compiled
CT13: Check a great variety of pathological continuations. Should compile.
CT14: Checks that a valid exit at a lower textual level is faulted
:RT0   :Checks %OWN initialising with const NL. Should print 10 twice.
RT1   :Checks access and passing of arrays in records.Prints integers 1 to 5
RT2   :Simple test of UNTIL cycles. Prints integers 0 to 3
RT3   :Checks resolution using TOSTRING. Outputs string"ABCDE"
RT4   :Tests a loop of unknown direction. No output
RT5   :Tests switching on longintegers. Outputs "GOT HERE OK"
RT6   :Tests initialised string arrays. Outputs"THREE ONE TWO THREE"
RT7   :Tests simple access to record arrays via whole record assignment
         Outputs :WORKED OK"
RT8   :A complex test of passing strings in records by name and value.
         Outputs nothing unless a failure found.
RT9   :Old faithful of interchange with record parameters.Outputs on failure
RT10  :Checks addr with record names. Outputs a message
RT11  :Complex conditions. May loop on failure. Outputs a message.
RT12  :Tests space allocation in recordarrays. Output on failure.
RT13  :Simple test of stringarray passing by name. Outputs "ABCD"
RT14  :Checks line number after array fault on line 13.
RT15   :Tests some very complex conditions. Output on failure.
RT16   :Tests space assignment if records with alternative formats. Outputs
         three numbers which should be the same + 1 more
RT17  :Tests lower case in hex consts. No output.
RT18  :Test of resolution. No output if successful
RT19  :Old faithfull string quicksort. Reads data and outputs
         nine names in alphabetic order.
RT20  :Tests records passed by value. Outputs on failure.
RT21  :Tests very large string constants one of which is output
RT22: Tests initialising 2D own arrays +odds&ends.Output on failure
RT23: Test == assignments and comparisons. Outputs on failure.
RT24: The classic test for correct environment of formal procedures.
         Outputs 10 or a failure message.
RT25: The classic HOUSEHOLDER program
RT26: A test of repeated event trapping (ex H.dewar.)
RT27: A simple test of string jam transfers. Outputs "TEST OK"
RT28: A test of formal procedures with predeclared names.
RT29: A check of shifting aginst integer exponentiation. Outputs on failure
RT30: A pathological string map program.Outputs the constructed string.
RT31: A simple test of string lexiographic conditions. O-P on failure
RT32: A test of array eqivalence including arrayname in records. no o-p
RT33: A simple test of byte pointers. Outputs on failure only
RT34: A simple test of string pointers. Outputs on failure only
RT35:A version of rt30 using %record %maps
RT36:A test of recursive fns as parameters. No output.
RT37: A test of LINT & LINTPT on large long integers
RT38: A test of multi dimension arrays for overlapping problems.
RT39: A test of all simple parameters by name&value.O-p=Test Ok.
RT40: Imp compiler error routine. O/P a pseudo error message.
RT41: A simple test of string maps. Prints "test ok".
RT42: A test of externals and extrinsics. Outputs TEST OK or diagnostics.
RT43: A test of string maps length and charno. Prints "test ok"
RT44: A severe test of built in fns INT & INTPT. Prints "TEST OK".
RT45: A test of bytes in record arrays. Checks byteswopping.
RT46: A test of concatenation includeing a fn and map. ops test ok.
RT47: A test of record functions with global assignments. O-P test ok
RT48: A test of variant record formats with byte offsets. Problems on
      word address machines. ok on byte address m-cs. O-P is TEST OK
RT49: A test that space is recovered from begin end blocks.No o-p unless error.
RT50: Adifficult to optimise use of byteinteger
RT51: A string fn test with a very nasty actual parameter indeed
RT52: A test of optimisation of overlapped records, Outputs TESt ok.
RT53: A test of names within recordnames in same op. prints TEST OK
RT54: A test of copies into global records. Prints TEST OK
RT55: A test of TRUNC ie fix a la Fortran.Prints TEST OK.
RT56: A quick check that bytes are not implemented as signed
RT57: A further check on correct parameter spacing. Prints Test OK.
RT58: A check that overflow can be trapped by %on %event
RT59: Checks function results survive undeclaring dynamic arrays
RT60: Checks 2-D initialised arrays are set up correctly. prints "test OK".

RT61: Atest of a string fn in a concatenation. Wrong for years!
RT62: The Fortran powerrr routine which mainuplates the exp field
       of real numbers and can defeat the register tracking.
RT63: A test of one word record as used by Fortran compiler. This
    trivial program defeated the register tracking.
RT64: Atest of array boundchecking on bytes. wrong on 386
 
VS0:  A test of printing an own string and its length
VS1:  A test of double sided conditions.
VS2:  A simple test of concatenation.
VS3:  A minimum string resolution
VS4:   Printing of one hex number via a cycle.
VS5:   A simple record by value test.
VS6:   A minimal test of switches.
rt0.i

   6 Statements Compiled
Test OK

Program stopped
rt1.i

   18 Statements Compiled
Test OK
Program stopped
rt2.i

   9 Statements Compiled
  0  1  2  3
Test OK
Program stopped
rt3.i

   12 Statements Compiled
ABCDE
Test is OK if previous line ='ABCDE'
Program stopped
rt4.i

   12 Statements Compiled
TEST OK
Program stopped
rt5.i

   17 Statements Compiled
TEST OK

Program stopped
rt6.i

   11 Statements Compiled
THREE ONE TWO THREE 
Test is OK if previous line='THREE ONE TWO THREE'
Program stopped
rt7.i

   14 Statements Compiled
TEST OK
Program stopped
rt8.i

   37 Statements Compiled
Test OK
Program stopped
rt9.i

   23 Statements Compiled
TEST OK
Program stopped
rt10.i

   18 Statements Compiled

TEST OK    (BYTE ADDRESS ANSWERS)

Program stopped
rt11.i

   26 Statements Compiled
TEST OK
Program stopped
rt12.i

   12 Statements Compiled
TEST OK
Program stopped
rt13.i

   13 Statements Compiled
TEST OK
Program stopped
rt14.i

*   20   FAULT 50 Subscript of  10 is outwith the bounds of a

*   20   FAULT 50 Subscript of  10 is outwith the bounds of a
gcc: rt14.o: No such file or directory
tdevimpmotent: ./a.out: not found
./a.out: No such file or directory
rt15.i

   57 Statements Compiled
PART 1 OK TEST OK
Program stopped
rt16.i

   19 Statements Compiled
Test OK
Program stopped
rt17.i

   22 Statements Compiled
TEST OK
Program stopped
rt18.i

   11 Statements Compiled
TEST OK
Program stopped
rt19.i

   30 Statements Compiled
TEST OK
Program stopped
rt20.i

   19 Statements Compiled
TEST OK
Program stopped
rt21.i

   5 Statements Compiled
L1=
0123456789012345678901234567890123456789012345678901234567890
0123456789012345678901234567890123456789012345678901234567890
0123456789012345678901234567890123456789012345678901234567890
TEST OK

Program stopped
rt22.i

   42 Statements Compiled
TEST OK (if no other output)
Program stopped
rt23.i

   24 Statements Compiled
TEST OK
Program stopped
rt24.i

   17 Statements Compiled
TEST OK
Program stopped
rt25.i

   228 Statements Compiled

TEST MATRIX EIGENVALUES
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.63669033@ -2
-2.49383318@ -2

Test is OK provided all answers are 1.00000 except last 2 which should be
1.63669..@ -2 and -2.49383..@-2

Program stopped
rt26.i

   228 Statements Compiled

TEST MATRIX EIGENVALUES
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.00000000@  0
 1.63669139@ -2
-2.49383114@ -2

Test is OK provided all answers are 1.00000 except last 2 which should be
1.63669..@ -2 and -2.49383..@-2

Program stopped
rt27.i

   39 Statements Compiled
TEST OK
Program stopped
rt28.i

   19 Statements Compiled

    x               sine(x)
    0.00          0.0000
    0.16          0.1564
    0.31          0.3090
    0.47          0.4540
    0.63          0.5878
    0.79          0.7071
    0.94          0.8090
    1.10          0.8910
    1.26          0.9511
    1.41          0.9877
    1.57       1.0000

    x         squareroot(x)
    0.00          0.0000
    2.00          1.4142
    4.00          2.0000
    6.00          2.4495
    8.00          2.8284
   10.00          3.1623

Program stopped
rt29.i

   51 Statements Compiled
TEST OK
Program stopped
rt30.i

   38 Statements Compiled
TESTING USE OF LABEL
THIS SHOULD MODIFY TESTING USE OF LABEL AS I TRIED TO DO YESTERDAY

Program stopped
rt31.i

   21 Statements Compiled
TEST OK
Program stopped
rt32.i

   30 Statements Compiled
TEST OK
Program stopped
rt33.i

   17 Statements Compiled
TEST OK
Program stopped
rt34.i

   17 Statements Compiled
TEST OK
Program stopped
rt35.i

   39 Statements Compiled
TESTING USE OF LABEL
THIS SHOULD MODIFY TESTING USE OF LABEL AS I TRIED TO DO YESTERDAY

Program stopped
rt36.i

   19 Statements Compiled
TEST OK
Program stopped
rt37.i

*    3   FAULT 99 Facility not supported by target hardware

*    7   FAULT 99 Facility not supported by target hardware

*   13   FAULT 99 Facility not supported by target hardware

*   25   FAULT 99 Facility not supported by target hardware
gcc: rt37.o: No such file or directory
tdevimpmotent: ./a.out: not found
./a.out: No such file or directory
rt38.i

   28 Statements Compiled
TEST OK
Program stopped
rt39.i

   24 Statements Compiled
TEST OK
Program stopped
rt40.i

   103 Statements Compiled

*   99   FAULT 16 Name JAMES has not been declared

?  Warning :-  Name JIM not used at line No 101

Program stopped
rt41.i

   13 Statements Compiled
TEST OK
Program stopped
rt42.i

   33 Statements Compiled
TEST OK
Program stopped
rt43.i

   22 Statements Compiled
TEST OK
Program stopped
rt44.i

   58 Statements Compiled
PART 1 OK  2147483648.00  -2147483648  fail

Program stopped
rt45.i

   23 Statements Compiled
TEST OK
Program stopped
rt46.i

   13 Statements Compiled
TEST OK
Program stopped
rt47.i

   17 Statements Compiled
TEST OK
Program stopped
rt48.i

   19 Statements Compiled
TEST OK
Program stopped
rt49.i

   16 Statements Compiled
Test OK
Program stopped
rt50.i

   23 Statements Compiled
TEST OK (Swopped)
Program stopped
rt51.i

   22 Statements Compiled
test OK
Program stopped
rt52.i

   42 Statements Compiled
Test ok (swopped)
Program stopped
rt53.i

   14 Statements Compiled
TEST OK
Program stopped
rt54.i

   13 Statements Compiled
TEST OK
Program stopped
rt55.i

   10 Statements Compiled
Test OK
Program stopped
rt56.i

   12 Statements Compiled
Test ok
Program stopped
rt57.i

   9 Statements Compiled
test ok 
Program stopped
rt58.i

   23 Statements Compiled

** Real Overflow **

              Unknown frame in HEX
(08047A60)    00000000  00000000  00000000  00000000
(08047A70)    00000000  00000000  00000000  00000000
(08047A80)    00000000  00000000  00000000  00000000
(08047A90)    00000000  00000000  00000000  00000000
(08047AA0)    00000000  00000000  00000000  00000000
(08047AB0)    00000000  00000000  00000000  00000000
(08047AC0)    00000000  00000000  00000000  00000000
(08047AD0)    00000000  00000000  00000000  00000000
(08047AE0)    00000000  00000000  00000000  00000000
(08047AF0)    00000000  00000000  00000000  00000000
(08047B00)    00000000  00000000  00000000  00000000
(08047B10)    00000000  7665642C  3062323D  36303030
(08047B20)    31303109  38383430  DFBED214  00000000
(08047B30)    0806ADE8  00000000  00000000  EFB15F68
(08047B40)    7E800000  7F000000  080544C5  00000004
(08047B50)    00000000  00000000  00000000  DFBC30C9

              Unknown frame in HEX
(08047B60)    08047B74  0805212C  00000001  08047B9C
(08047B70)    08047BA4

End of diagnostics


Program stopped
rt59.i

   24 Statements Compiled
TEST OK
Program stopped
rt60.i

   7 Statements Compiled
Test OK
Program stopped
rt61.i

   12 Statements Compiled
Test OK
Program stopped
rt62.i

   152 Statements Compiled
Test ok
Program stopped
rt63.i

   16 Statements Compiled
Test OK
Program stopped
rt64.i

   9 Statements Compiled
TestOK

Program stopped
rt65.i

   19 Statements Compiled
TEST OK
Program stopped
rt66.i

   12 Statements Compiled
TEST OK

Program stopped
rt67.i

   17 Statements Compiled
Test OK

Program stopped
rt68.i

   15 Statements Compiled
TestOK

rt69.i

   17 Statements Compiled
TEST OK

Program stopped
