* fix for webbug 1066/1126

This commit is contained in:
Jonas Maebe 2000-11-23 13:26:33 +00:00
parent de0a78a66e
commit f88e80bced
2 changed files with 16 additions and 6 deletions

View File

@ -984,7 +984,7 @@ Begin
End;}
Until Not(Assigned(Current)) Or
(Current^.typ <> ait_Marker) Or
not(Pai_Marker(Current)^.Kind in [NoPropInfoStart,NoPropInfoEnd]);
not(Pai_Marker(Current)^.Kind in [NoPropInfoStart{,NoPropInfoEnd}]);
Next := Current;
If Assigned(Current) And
Not((Current^.typ In SkipInstr) or
@ -1025,7 +1025,7 @@ Begin
End;}
Until Not(Assigned(Current)) Or
(Current^.typ <> ait_Marker) Or
not(Pai_Marker(Current)^.Kind in [NoPropInfoStart,NoPropInfoEnd]);
not(Pai_Marker(Current)^.Kind in [NoPropInfoStart{,NoPropInfoEnd}]);
If Not(Assigned(Current)) or
(Current^.typ In SkipInstr) or
((Current^.typ = ait_label) And
@ -1051,10 +1051,10 @@ Begin
OldP := P;
If (P^.typ in SkipInstr) Or
((P^.typ = ait_marker) And
(Pai_Marker(P)^.Kind = AsmBlockEnd)) Then
(Pai_Marker(P)^.Kind in [AsmBlockEnd,inlinestart,inlineend])) Then
GetNextInstruction(P, P)
Else If ((P^.Typ = Ait_Marker) And
(Pai_Marker(P)^.Kind = NoPropInfoStart)) Then
(Pai_Marker(P)^.Kind = nopropinfostart)) Then
{a marker of the NoPropInfoStart can't be the first instruction of a
paasmoutput list}
GetNextInstruction(Pai(P^.Previous),P);
@ -2443,7 +2443,10 @@ End.
{
$Log$
Revision 1.7 2000-11-17 15:22:04 jonas
Revision 1.8 2000-11-23 13:26:33 jonas
* fix for webbug 1066/1126
Revision 1.7 2000/11/17 15:22:04 jonas
* fixed another bug in allocregbetween (introduced by the previous fix)
("merged")

View File

@ -1507,9 +1507,13 @@ implementation
ps:=para_size;
make_global:=false; { to avoid warning }
genentrycode(inlineentrycode,proc_names,make_global,0,ps,nostackframe,true);
if po_assembler in aktprocsym^.definition^.procoptions then
inlineentrycode^.insert(new(pai_marker,init(asmblockstart)));
exprasmlist^.concatlist(inlineentrycode);
secondpass(inlinetree);
genexitcode(inlineexitcode,0,false,true);
if po_assembler in aktprocsym^.definition^.procoptions then
inlineexitcode^.concat(new(pai_marker,init(asmblockend)));
exprasmlist^.concatlist(inlineexitcode);
dispose(inlineentrycode,done);
@ -1585,7 +1589,10 @@ begin
end.
{
$Log$
Revision 1.9 2000-11-22 15:12:06 jonas
Revision 1.10 2000-11-23 13:26:34 jonas
* fix for webbug 1066/1126
Revision 1.9 2000/11/22 15:12:06 jonas
* fixed inline-related problems (partially "merges")
Revision 1.8 2000/11/17 09:54:58 florian