* removed changesettype because that will change the definition

of the setdef forever and can result in a different between
    original interface and current implementation definition
This commit is contained in:
peter 2003-06-05 20:05:55 +00:00
parent be7a5b76a4
commit 28ebc69c8f
3 changed files with 20 additions and 20 deletions

View File

@ -536,7 +536,7 @@ implementation
to right as the other way is checked in the typeconv } to right as the other way is checked in the typeconv }
if (tsetdef(right.resulttype.def).settype=smallset) and if (tsetdef(right.resulttype.def).settype=smallset) and
(tsetdef(left.resulttype.def).settype<>smallset) then (tsetdef(left.resulttype.def).settype<>smallset) then
tsetdef(right.resulttype.def).changesettype(normset); right.resulttype.setdef(tsetdef.create(tsetdef(right.resulttype.def).elementtype,255));
{ check base types } { check base types }
inserttypeconv(left,right.resulttype); inserttypeconv(left,right.resulttype);
@ -1953,7 +1953,12 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.92 2003-06-03 21:04:43 peter Revision 1.93 2003-06-05 20:05:55 peter
* removed changesettype because that will change the definition
of the setdef forever and can result in a different between
original interface and current implementation definition
Revision 1.92 2003/06/03 21:04:43 peter
* widen cardinal+signed operations * widen cardinal+signed operations
Revision 1.91 2003/05/26 21:15:18 peter Revision 1.91 2003/05/26 21:15:18 peter

View File

@ -1107,7 +1107,7 @@ implementation
{ constant sets can be converted by changing the type only } { constant sets can be converted by changing the type only }
if (left.nodetype=setconstn) then if (left.nodetype=setconstn) then
begin begin
tsetdef(left.resulttype.def).changesettype(tsetdef(resulttype.def).settype); left.resulttype:=resulttype;
result:=left; result:=left;
left:=nil; left:=nil;
exit; exit;
@ -2111,7 +2111,12 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.114 2003-06-04 17:55:09 jonas Revision 1.115 2003-06-05 20:05:55 peter
* removed changesettype because that will change the definition
of the setdef forever and can result in a different between
original interface and current implementation definition
Revision 1.114 2003/06/04 17:55:09 jonas
* disable fpuregable for fpu variables typecasted to non fpu-type * disable fpuregable for fpu variables typecasted to non fpu-type
Revision 1.113 2003/06/04 17:29:01 jonas Revision 1.113 2003/06/04 17:29:01 jonas

View File

@ -621,7 +621,6 @@ interface
procedure deref;override; procedure deref;override;
function gettypename:string;override; function gettypename:string;override;
function is_publishable : boolean;override; function is_publishable : boolean;override;
procedure changesettype(s:tsettype);
{ debug } { debug }
{$ifdef GDB} {$ifdef GDB}
function stabstring : pchar;override; function stabstring : pchar;override;
@ -2449,20 +2448,6 @@ implementation
end; end;
procedure tsetdef.changesettype(s:tsettype);
begin
case s of
smallset :
savesize:=sizeof(longint);
normset :
savesize:=32;
varset :
internalerror(200110201);
end;
settype:=s;
end;
{$ifdef GDB} {$ifdef GDB}
function tsetdef.stabstring : pchar; function tsetdef.stabstring : pchar;
begin begin
@ -5741,7 +5726,12 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.148 2003-06-03 13:01:59 daniel Revision 1.149 2003-06-05 20:05:55 peter
* removed changesettype because that will change the definition
of the setdef forever and can result in a different between
original interface and current implementation definition
Revision 1.148 2003/06/03 13:01:59 daniel
* Register allocator finished * Register allocator finished
Revision 1.147 2003/06/02 22:55:28 florian Revision 1.147 2003/06/02 22:55:28 florian