From 9b790edd4fdff77c2d088ea6be080e0870c74b36 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sun, 8 Feb 2009 09:00:49 +0000 Subject: [PATCH] * fixed parsing of "var x: absolute ;" on 64 bit platforms (tests/tbs/tb0350) git-svn-id: trunk@12715 - --- compiler/pdecvar.pas | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler/pdecvar.pas b/compiler/pdecvar.pas index 4f629140cf..41328dfd3f 100644 --- a/compiler/pdecvar.pas +++ b/compiler/pdecvar.pas @@ -1017,10 +1017,16 @@ implementation abssym:=tabsolutevarsym.create(vs.realname,vs.vardef); abssym.fileinfo:=vs.fileinfo; abssym.abstyp:=toaddr; +{$ifndef cpu64bitaddr} + { on 64 bit systems, abssym.addroffset is a qword and hence this + test is useless (value is a 64 bit entity) and will always fail + for positive values (since int64(high(abssym.addroffset))=-1 + } if (Tordconstnode(pt).valueint64(high(abssym.addroffset))) then message(parser_e_range_check_error) else +{$endif} abssym.addroffset:=Tordconstnode(pt).value.svalue; {$ifdef i386} abssym.absseg:=false;