mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-19 12:39:27 +02:00
* removed some ie checks
This commit is contained in:
parent
ab7f62f3e1
commit
811fdad9b6
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user