summaryrefslogtreecommitdiff
path: root/misc/pascal/insn16/doc/PascalTestStatus.txt
blob: a30470c7d7b45f41a10279c217cc8539f742f99e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
====================================================================
000-099: Basic functionality
====================================================================

TEST FILE: 001-beginend.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 002-writeln.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 003-for.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 004-repeat.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 005-while.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 006-optconst.pas
  Compiles without error
  Executes without error
  Output...

    You have to use plist to examine the output.  All integer constant
    expressions are correctly optimized EXCEPT the last one.  This
    is most like a problem with the way the optimizer buffers instructions
    -- i.e., the window is not big enough to capture the full context

    Still need to add logic to verify real expressions.

====================================================================
100-199: Math and runtime libraries
====================================================================

TEST FILE: 101-cosine.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 102-cen2fahr.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 103-sumharm.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 104-primes.pas
Fatal Error 43 -- Compilation aborted

  0:0013   sieve, primes : array[0..w] of set of 0..maxbit;
  Line 0:0012 Error 2e Token 0a

TEST FILE: 105-inflation.pas
  Compiles without error
  Executes without error
  Output is correct

====================================================================
200-299: Strings
====================================================================

TEST FILE: 201-strcat.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 202-strcmp.pas
  Compiles without error
  Executes without error
  Output is correct

====================================================================
500-599: multi-file features:  uses, units
====================================================================

TEST FILE: 501-uses.pas
  Compiles without error
  Gets the following runtime errors:

        FILE  0, "src/uses.pas"
        PRGM  0, "MYPROGRAM"
        FILE  1, "src/unit.pas"
        IMPRT 66, L0001, "MYCOSINE"
        ...
        Entry is label L0002
        P-Code label L0002 loaded at iSpace[3]
        Entry point set to 0x0003
        Last p-code address: 0x0063
        ERROR: Could not find code label 0x00000001
        ERROR: Failed to bind program addresses
        ERROR: Could not load src/uses.PCD

TEST FILE: 501-unit.pas
  Compiles without error
  Executes with error as exepected:
    ERROR: Cannot execute. Entry Point NOT found
    Runtime error 0x80 -- Execution Stopped
  OK!
  Line 0:0016 Error 36 Token 01 (READKEY)

====================================================================
800-899: Erie pascal programs
====================================================================

TEST FILE: 801-cgihello.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 802-cgiinfo.pas
  Compiles without error
  Executes without error
  Output is correct

TEST FILE: 803-redirect.pas
Fatal Error 14 -- Compilation aborted

  0:0031 len : 0..maxint;
  0:0039 val(ContentLength, len, err)

  Line 0:0039 Error 42 Token 51

  Error 42: eVARPARMTYPE
  Token 51: tSUBRANGE

  len is used as output in VAR built-in.  Compiler currently won't
  accept subrange of type for type.  It should as an input, but it
  should not as an output unless there is range checking.

  0:0061 EncodedVariable, DecodedVariable, name, value : string;
  0:0063 procedure ProcessNameValuePair(var name, value : string);

  Line 0:0063 Error 0e Token 4b

  Error 0e: eINDENT
  Token 4b: sSTRING

  Declared from line 'if (token != tIDENT) error (eIDENT);'
  in function declare parameter.  tkn_strt = 'NAME'

  Problem with scope of names.  'name' already exists in outscope and
  cannot be redeclared in the innerscope.

TEST FILE: 804-cgiform.pas
Fatal Error 29 -- Compilation aborted

  Uses 'list of'

  0:0054  NameValuePairs : list of NameValuePair;
  Line 0:0054 Error 1e Token 01 (LIST)

TEST FILE: 805-cgimail.pas
Fatal Error 29 -- Compilation aborted

  Uses type file name

  strErrorLink, strSuccessLink : filename;
  Line 0:0018 Error 1e Token 01 (FILENAME)

  filename is an Irie pascal type.
  Also uses Irie pascal specific file IO calls.

TEST FILE: 806-cgicook.pas
Fatal Error 29 -- Compilation aborted

  Uses 'list of'

  0:0088  CookieList = list of Cookie;
  Line 0:0088 Error 1e Token 01 (LIST)

====================================================================
900-999: Misc. large programs not targeted at any particular feature.
====================================================================

TEST FILE: 901-pageutils.pas
Fatal Error 45 -- Compilation aborted


Reirects standard input and output:

  CONST
  ...
  input = 1;
  output = 2;
  Line 0:0654 Error 0f Token 45

  0f = eIMPLEMENTATION
  45 = sFILE

Issues the list_cb_type

  0:4640 PROCEDURE init_list  (VAR list: list_cb_type; max_nol: short) ;
  Line 0:4640 Error 2c Token 01 (LIST_CB_TYPE)