* fixed crash with empty array constructors

This commit is contained in:
peter 1999-12-31 14:26:27 +00:00
parent 56c602fc83
commit 3cc443d181
3 changed files with 29 additions and 4 deletions

View File

@ -268,7 +268,8 @@ implementation
if is_open_array(def_to) and
is_array_constructor(def_from) then
begin
if is_equal(parraydef(def_to)^.elementtype.def,parraydef(def_from)^.elementtype.def) then
if is_void(parraydef(def_from)^.elementtype.def) or
is_equal(parraydef(def_to)^.elementtype.def,parraydef(def_from)^.elementtype.def) then
begin
doconv:=tc_equal;
b:=1;
@ -847,7 +848,10 @@ implementation
end.
{
$Log$
Revision 1.53 1999-12-18 14:55:21 florian
Revision 1.54 1999-12-31 14:26:27 peter
* fixed crash with empty array constructors
Revision 1.53 1999/12/18 14:55:21 florian
* very basic widestring support
Revision 1.52 1999/12/16 19:12:04 peter

View File

@ -446,6 +446,10 @@ implementation
{ looks a little bit dangerous to me }
{ len-1 gives problems with is_open_array if len=0, }
{ is_open_array checks now for isconstructor (FK) }
{ if no type is set then we set the type to voiddef to overcome a
0 addressing }
if not assigned(pd) then
pd:=voiddef;
{ skip if already done ! (PM) }
if not assigned(p^.resulttype) or
(p^.resulttype^.deftype<>arraydef) or
@ -474,7 +478,10 @@ implementation
end.
{
$Log$
Revision 1.54 1999-12-09 23:18:05 pierre
Revision 1.55 1999-12-31 14:26:27 peter
* fixed crash with empty array constructors
Revision 1.54 1999/12/09 23:18:05 pierre
* no_fast_exit if procedure contains implicit termination code
Revision 1.53 1999/12/02 17:28:53 peter

View File

@ -53,6 +53,9 @@ interface
{ true if p is a char }
function is_char(def : pdef) : boolean;
{ true if p is a void}
function is_void(def : pdef) : boolean;
{ true if p is a smallset def }
function is_smallset(p : pdef) : boolean;
@ -355,6 +358,14 @@ implementation
end;
{ true if p is a void }
function is_void(def : pdef) : boolean;
begin
is_void:=(def^.deftype=orddef) and
(porddef(def)^.typ=uvoid);
end;
{ true if p is a char }
function is_char(def : pdef) : boolean;
begin
@ -985,7 +996,10 @@ implementation
end.
{
$Log$
Revision 1.92 1999-11-30 10:40:59 peter
Revision 1.93 1999-12-31 14:26:28 peter
* fixed crash with empty array constructors
Revision 1.92 1999/11/30 10:40:59 peter
+ ttype, tsymlist
Revision 1.91 1999/11/06 14:34:31 peter