summaryrefslogtreecommitdiff
path: root/compiler/nadd.pas
diff options
context:
space:
mode:
authornickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-04-23 15:52:22 +0000
committernickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-04-23 15:52:22 +0000
commit27b3e6552f0e50c5470874265a77416088c2b69a (patch)
tree7e522ae4334892240c2b1285449c34e04389f630 /compiler/nadd.pas
parent75d7c5be1f0806a8770e36f7c64ef56d9734e016 (diff)
downloadfpc-27b3e6552f0e50c5470874265a77416088c2b69a.tar.gz
* set expectloc correctly for procvardef comparisons with nil for small CPUs
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/z80@45043 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/nadd.pas')
-rw-r--r--compiler/nadd.pas6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/nadd.pas b/compiler/nadd.pas
index 9ab844e431..f8e9f87a3a 100644
--- a/compiler/nadd.pas
+++ b/compiler/nadd.pas
@@ -4180,7 +4180,11 @@ implementation
else if ((ld.typ=procvardef) and (rt=niln)) or
((rd.typ=procvardef) and (lt=niln)) then
begin
- expectloc:=LOC_FLAGS;
+ if (ld.typ=procvardef) and (tprocvardef(ld).size>sizeof(aint)) or
+ (rd.typ=procvardef) and (tprocvardef(rd).size>sizeof(aint)) then
+ expectloc:=LOC_JUMP
+ else
+ expectloc:=LOC_FLAGS;
end
{$ifdef SUPPORT_MMX}