summaryrefslogtreecommitdiff
path: root/compiler/pdecsub.pas
diff options
context:
space:
mode:
authorkaroly <karoly@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-08-13 01:19:19 +0000
committerkaroly <karoly@3ad0048d-3df7-0310-abae-a5850022a9f2>2017-08-13 01:19:19 +0000
commit998212a2b5b3b2fa5ea40c9f605eb086e5497968 (patch)
treebab2d12ccd98eeac37e26ab01df2392010d6313d /compiler/pdecsub.pas
parent026cbd3b6f2e712553c68ab1eb93ec8a28ad38bd (diff)
downloadfpc-998212a2b5b3b2fa5ea40c9f605eb086e5497968.tar.gz
m68k-palmos: fixed the syscall generation, and improved it to support the dispatch-selector-in-reg-D2 traps
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@36892 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/pdecsub.pas')
-rw-r--r--compiler/pdecsub.pas14
1 files changed, 12 insertions, 2 deletions
diff --git a/compiler/pdecsub.pas b/compiler/pdecsub.pas
index eed0ac4640..1110c19f59 100644
--- a/compiler/pdecsub.pas
+++ b/compiler/pdecsub.pas
@@ -2183,8 +2183,18 @@ begin
if target_info.system = system_m68k_palmos then
begin
v:=get_intconst;
- tprocdef(pd).import_nr:=longint(v.svalue);
- tprocdef(pd).extnumber:=15;
+ tprocdef(pd).extnumber:=longint(v.svalue);
+ if ((v<0) or (v>high(word))) then
+ message(parser_e_range_check_error);
+
+ if try_to_consume(_COMMA) then
+ begin
+ v:=get_intconst;
+ if ((v<0) or (v>high(word))) then
+ message(parser_e_range_check_error);
+ tprocdef(pd).import_nr:=longint(v.svalue);
+ include(pd.procoptions,po_syscall_has_importnr);
+ end;
exit;
end;