|
@@ -1790,11 +1790,16 @@
|
|
|
|
|
|
function tarraydef.size : longint;
|
|
function tarraydef.size : longint;
|
|
begin
|
|
begin
|
|
- { dirty hack to overcome an overflow (PFV) }
|
|
|
|
- if highrange=$7fffffff then
|
|
|
|
- size:=$7fffffff
|
|
|
|
- else
|
|
|
|
- size:=(highrange-lowrange+1)*elesize;
|
|
|
|
|
|
+ {Tarraydef.size may never be called for an open array!}
|
|
|
|
+ if highrange<lowrange then
|
|
|
|
+ internalerror($99080501);
|
|
|
|
+ If (highrange-lowrange = $7fffffff) or
|
|
|
|
+ (($7fffffff div elesize + elesize -1) < (highrange - lowrange)) Then
|
|
|
|
+ Begin
|
|
|
|
+ message(sym_segment_too_large);
|
|
|
|
+ size := 4
|
|
|
|
+ End
|
|
|
|
+ Else size:=(highrange-lowrange+1)*elesize;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
@@ -3585,7 +3590,10 @@ Const local_symtable_index : longint = $8001;
|
|
|
|
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.141 1999-08-05 16:53:13 peter
|
|
|
|
|
|
+ Revision 1.142 1999-08-05 22:41:34 daniel
|
|
|
|
+ *** empty log message ***
|
|
|
|
+
|
|
|
|
+ Revision 1.141 1999/08/05 16:53:13 peter
|
|
* V_Fatal=1, all other V_ are also increased
|
|
* V_Fatal=1, all other V_ are also increased
|
|
* Check for local procedure when assigning procvar
|
|
* Check for local procedure when assigning procvar
|
|
* fixed comment parsing because directives
|
|
* fixed comment parsing because directives
|