diff options
author | nickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-03-12 13:35:19 +0000 |
---|---|---|
committer | nickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-03-12 13:35:19 +0000 |
commit | 2e14faba1df01350cdaeaecefc024d09e16d61c1 (patch) | |
tree | 218ab1d0351fe871ba8242b43a2f5d159e4cf557 /compiler/ncgutil.pas | |
parent | 43c47a920a2b2de5833b777f280abb4dd079c095 (diff) | |
download | fpc-2e14faba1df01350cdaeaecefc024d09e16d61c1.tar.gz |
* fixed functions returning longint on i8086
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/i8086@23803 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/ncgutil.pas')
-rw-r--r-- | compiler/ncgutil.pas | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/ncgutil.pas b/compiler/ncgutil.pas index 2b519edaa9..2f7790d19c 100644 --- a/compiler/ncgutil.pas +++ b/compiler/ncgutil.pas @@ -1039,10 +1039,14 @@ implementation begin unget_para(paraloc^); gen_alloc_regloc(list,destloc); - cg.a_load_cgparaloc_anyreg(list,OS_32,paraloc^,destloc.register,sizeof(aint)); + cg.a_load_cgparaloc_anyreg(list,OS_INT,paraloc^,destloc.register,sizeof(aint)); unget_para(paraloc^.Next^); gen_alloc_regloc(list,destloc); - cg.a_load_cgparaloc_anyreg(list,OS_32,paraloc^.Next^,destloc.registerhi,sizeof(aint)); + {$if defined(cpu16bitalu) or defined(cpu8bitalu)} + cg.a_load_cgparaloc_anyreg(list,OS_INT,paraloc^.Next^,GetNextReg(destloc.register),sizeof(aint)); + {$else} + cg.a_load_cgparaloc_anyreg(list,OS_INT,paraloc^.Next^,destloc.registerhi,sizeof(aint)); + {$endif} end else internalerror(200410105); |