PascalScript: sync with original

git-svn-id: trunk@39502 -
This commit is contained in:
martin 2012-12-10 14:27:09 +00:00
parent 7cc850d667
commit bc13aee2de
2 changed files with 10 additions and 5 deletions

View File

@ -567,6 +567,7 @@ var
current, i: Longint; current, i: Longint;
ds: TPSDefineState; ds: TPSDefineState;
AppContinue: Boolean; AppContinue: Boolean;
ADoWrite: Boolean;
begin begin
if Level > MaxLevel then raise EPSPreProcessor.CreateFmt(RPS_TooManyNestedInclude, [FileName, OrgFileName]); if Level > MaxLevel then raise EPSPreProcessor.CreateFmt(RPS_TooManyNestedInclude, [FileName, OrgFileName]);
Parser := TPSPascalPreProcessorParser.Create; Parser := TPSPascalPreProcessorParser.Create;
@ -646,14 +647,14 @@ begin
begin begin
if pos(' ', s) <> 0 then raise EPSPreProcessor.CreateFmt(RPS_DefineTooManyParameters, [Parser.Row, Parser.Col]); if pos(' ', s) <> 0 then raise EPSPreProcessor.CreateFmt(RPS_DefineTooManyParameters, [Parser.Row, Parser.Col]);
//JeromeWelsh - nesting fix //JeromeWelsh - nesting fix
FDefineState.Add.DoWrite := (FCurrentDefines.IndexOf(Uppercase(s)) <> -1) ADoWrite := (FCurrentDefines.IndexOf(Uppercase(s)) >= 0) and FDefineState.DoWrite;
and FDefineState.DoWrite; FDefineState.Add.DoWrite := ADoWrite;
end else if (Name = 'IFNDEF') then end else if (Name = 'IFNDEF') then
begin begin
if pos(' ', s) <> 0 then raise EPSPreProcessor.CreateFmt(RPS_DefineTooManyParameters, [Parser.Row, Parser.Col]); if pos(' ', s) <> 0 then raise EPSPreProcessor.CreateFmt(RPS_DefineTooManyParameters, [Parser.Row, Parser.Col]);
//JeromeWelsh - nesting fix //JeromeWelsh - nesting fix
FDefineState.Add.DoWrite := (FCurrentDefines.IndexOf(Uppercase(s)) = -1) ADoWrite := (FCurrentDefines.IndexOf(Uppercase(s)) < 0) and FDefineState.DoWrite;
and FDefineState.DoWrite; FDefineState.Add.DoWrite := ADoWrite;
end else if (Name = 'ENDIF') then end else if (Name = 'ENDIF') then
begin begin
//- jgv remove - borland use it (sysutils.pas) //- jgv remove - borland use it (sysutils.pas)
@ -716,7 +717,11 @@ var
Stream: TMemoryStream; Stream: TMemoryStream;
begin begin
FAddedPosition := 0; FAddedPosition := 0;
{$IFDEF FPC}
FCurrentDefines.AddStrings(FDefines);
{$ELSE}
FCurrentDefines.Assign(FDefines); FCurrentDefines.Assign(FDefines);
{$ENDIF}
Stream := TMemoryStream.Create; Stream := TMemoryStream.Create;
try try
IntPreProcess(0, '', FileName, Stream); IntPreProcess(0, '', FileName, Stream);

View File

@ -149,7 +149,7 @@ asm
push qword ptr [rcx] push qword ptr [rcx]
{$ELSE} {$ELSE}
push [rcx] push [rcx]
{$IFEND} {$ENDIF}
dec r8 dec r8
sub rcx,8 sub rcx,8
@compareitems: @compareitems: