* removed some ie checks

This commit is contained in:
peter 2003-04-21 20:05:10 +00:00
parent ab7f62f3e1
commit 811fdad9b6
3 changed files with 21 additions and 23 deletions

View File

@ -1440,8 +1440,6 @@ Begin
begin
opr.typ:=OPR_REGISTER;
opr.reg:=actasmregister;
if opr.reg.enum<>R_INTREGISTER then
internalerror(200302023);
size:=reg2opsize(actasmregister);
Consume(AS_REGISTER);
end
@ -2135,7 +2133,10 @@ finalization
end.
{
$Log$
Revision 1.40 2003-03-18 18:15:53 peter
Revision 1.41 2003-04-21 20:05:10 peter
* removed some ie checks
Revision 1.40 2003/03/18 18:15:53 peter
* changed reg2opsize to function
Revision 1.39 2003/02/20 15:52:58 pierre

View File

@ -1109,9 +1109,7 @@ Begin
end;
if GotOffset then
begin
if procinfo.framepointer.enum<>R_INTREGISTER then
internalerror(200302121);
if hasvar and (opr.ref.base.enum=procinfo.framepointer.enum) then
if hasvar and (opr.ref.base.number=procinfo.framepointer.number) then
begin
opr.ref.base.enum:=R_INTREGISTER;
opr.ref.base.number:=NR_NO;
@ -1124,10 +1122,6 @@ Begin
{ should we allow ?? }
end;
end;
if opr.ref.base.enum<>R_INTREGISTER then
internalerror(200302121);
if opr.ref.index.enum<>R_INTREGISTER then
internalerror(200302121);
{ is the base register loaded by the var ? }
if (opr.ref.base.number<>NR_NO) then
begin
@ -1218,10 +1212,6 @@ Begin
1. just read a *
2. next token is a *
3. base register is already used }
if opr.ref.base.enum<>R_INTREGISTER then
internalerror(200302123);
if opr.ref.index.enum<>R_INTREGISTER then
internalerror(200302123);
if (GotStar) or
(actasmtoken=AS_STAR) or
(opr.ref.base.number<>NR_NO) then
@ -1971,7 +1961,10 @@ finalization
end.
{
$Log$
Revision 1.44 2003-03-28 19:16:57 peter
Revision 1.45 2003-04-21 20:05:10 peter
* removed some ie checks
Revision 1.44 2003/03/28 19:16:57 peter
* generic constructor working for i386
* remove fixed self register
* esi added as address register for i386

View File

@ -64,6 +64,7 @@ interface
srsym,sym : tsym;
srsymtable : tsymtable;
code : TAAsmoutput;
framereg : tregister;
i,l : longint;
procedure writeasmline;
@ -89,10 +90,10 @@ interface
if assigned(aktprocdef.funcretsym) and
is_fpu(aktprocdef.rettype.def) then
tfuncretsym(aktprocdef.funcretsym).funcretstate:=vs_assigned;
if procinfo.framepointer.enum>lastreg then
internalerror(200301081);
framereg:=procinfo.framepointer;
convert_register_to_enum(framereg);
if (not is_void(aktprocdef.rettype.def)) then
retstr:=upper(tostr(procinfo.return_offset)+'('+gas_reg2str[procinfo.framepointer.enum]+')')
retstr:=upper(tostr(procinfo.return_offset)+'('+gas_reg2str[framereg.enum]+')')
else
retstr:='';
c:=current_scanner.asmgetchar;
@ -173,7 +174,7 @@ interface
hs:=tvarsym(sym).mangledname
else
hs:='-'+tostr(tvarsym(sym).address)+
'('+gas_reg2str[procinfo.framepointer.enum]+')';
'('+gas_reg2str[framereg.enum]+')';
end
else
{ call to local function }
@ -196,7 +197,7 @@ interface
l:=tvarsym(sym).address;
{ set offset }
inc(l,aktprocdef.parast.address_fixup);
hs:=tostr(l)+'('+gas_reg2str[procinfo.framepointer.enum]+')';
hs:=tostr(l)+'('+gas_reg2str[framereg.enum]+')';
if pos(',',s) > 0 then
tvarsym(sym).varstate:=vs_used;
end;
@ -242,7 +243,7 @@ interface
begin
if assigned(procinfo._class) then
hs:=tostr(procinfo.selfpointer_offset)+
'('+gas_reg2str[procinfo.framepointer.enum]+')'
'('+gas_reg2str[framereg.enum]+')'
else
Message(asmr_e_cannot_use_SELF_outside_a_method);
end
@ -259,7 +260,7 @@ interface
{ we do it: }
if lexlevel>normal_function_level then
hs:=tostr(procinfo.framepointer_offset)+
'('+gas_reg2str[procinfo.framepointer.enum]+')'
'('+gas_reg2str[framereg.enum]+')'
else
Message(asmr_e_cannot_use_OLDEBP_outside_nested_procedure);
end;
@ -307,7 +308,10 @@ initialization
end.
{
$Log$
Revision 1.6 2003-01-08 18:43:57 daniel
Revision 1.7 2003-04-21 20:05:10 peter
* removed some ie checks
Revision 1.6 2003/01/08 18:43:57 daniel
* Tregister changed into a record
Revision 1.5 2002/11/25 17:43:27 peter