From f165cee058716391ff0f31bbedde69d7b6a63db3 Mon Sep 17 00:00:00 2001 From: nickysn <nickysn@gmail.com> Date: Sun, 6 Oct 2013 00:32:10 +0000 Subject: [PATCH] + save the absolute variable's segment to the ppu file after r25666 * incremented the ppu version git-svn-id: trunk@25672 - --- compiler/ppu.pas | 2 +- compiler/symsym.pas | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/compiler/ppu.pas b/compiler/ppu.pas index 2699ecb9fb..29f1d3f123 100644 --- a/compiler/ppu.pas +++ b/compiler/ppu.pas @@ -43,7 +43,7 @@ type {$endif Test_Double_checksum} const - CurrentPPUVersion = 163; + CurrentPPUVersion = 164; { buffer sizes } maxentrysize = 1024; diff --git a/compiler/symsym.pas b/compiler/symsym.pas index e0d7b4aaf9..cfcb426cd4 100644 --- a/compiler/symsym.pas +++ b/compiler/symsym.pas @@ -2057,9 +2057,9 @@ implementation ref:=nil; asmname:=nil; abstyp:=absolutetyp(ppufile.getbyte); -{$ifdef i386} +{$if defined(i386) or defined(i8086)} absseg:=false; -{$endif i386} +{$endif i386 or i8086} case abstyp of tovar : ref:=ppufile.getpropaccesslist; @@ -2068,9 +2068,13 @@ implementation toaddr : begin addroffset:=ppufile.getaword; -{$ifdef i386} +{$if defined(i386)} absseg:=boolean(ppufile.getbyte); -{$endif i386} +{$elseif defined(i8086)} + absseg:=boolean(ppufile.getbyte); + if absseg then + addrsegment:=ppufile.getaword; +{$endif} end; end; end; @@ -2088,9 +2092,13 @@ implementation toaddr : begin ppufile.putaword(addroffset); -{$ifdef i386} +{$if defined(i386)} ppufile.putbyte(byte(absseg)); -{$endif i386} +{$elseif defined(i8086)} + ppufile.putbyte(byte(absseg)); + if absseg then + ppufile.putaword(addrsegment); +{$endif} end; end; ppufile.writeentry(ibabsolutevarsym);