From d3a8cc7fc86fd2d10fb24b017c95748e0d8c5e8c Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 16 Dec 2000 15:58:48 +0000 Subject: [PATCH] * genintconstnode now returns cardinals instead of int64 constants if possible --- compiler/ncon.pas | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/compiler/ncon.pas b/compiler/ncon.pas index 9688cf041a..db525c72dd 100644 --- a/compiler/ncon.pas +++ b/compiler/ncon.pas @@ -146,13 +146,17 @@ implementation function genintconstnode(v : TConstExprInt) : tordconstnode; var - i : TConstExprInt; + i,i2 : TConstExprInt; begin { we need to bootstrap this code, so it's a little bit messy } i:=2147483647; + { maxcardinal } + i2 := i+i+1; if (v<=i) and (v>=-i-1) then genintconstnode:=genordinalconstnode(v,s32bitdef) + else if (v > i) and (v <= i2) then + genintconstnode:=genordinalconstnode(v,u32bitdef) else genintconstnode:=genordinalconstnode(v,cs64bitdef); end; @@ -658,7 +662,10 @@ begin end. { $Log$ - Revision 1.13 2000-12-15 13:26:01 jonas + Revision 1.14 2000-12-16 15:58:48 jonas + * genintconstnode now returns cardinals instead of int64 constants if possible + + Revision 1.13 2000/12/15 13:26:01 jonas * only return int64's from functions if it int64funcresok is defined + added int64funcresok define to options.pas