Browse Source

* More syscall fixes

git-svn-id: trunk@47476 -
michael 4 years ago
parent
commit
60ecdb00ae
2 changed files with 8 additions and 1 deletions
  1. 1 1
      packages/fcl-passrc/src/pparser.pp
  2. 7 0
      packages/fcl-passrc/tests/tcprocfunc.pas

+ 1 - 1
packages/fcl-passrc/src/pparser.pp

@@ -5373,7 +5373,7 @@ begin
         else
           // remove legacy or basesysv on MorphOS syscalls
           begin
-          if CurTokenIsIdentifier('legacy') or CurTokenIsIdentifier('BaseSysV') then
+          if CurTokenIsIdentifier('legacy') or CurTokenIsIdentifier('BaseSysV') or CurTokenIsIdentifier('_ExecBase') then
             NextToken;
           end;
       end;

+ 7 - 0
packages/fcl-passrc/tests/tcprocfunc.pas

@@ -123,6 +123,7 @@ type
     procedure TestCallingConventionSysV_ABI_Default;
     procedure TestCallingConventionVectorCall;
     procedure TestCallingConventionSysCall;
+    procedure TestCallingConventionSysCallExecbase;
     Procedure TestProcedurePublic;
     Procedure TestProcedurePublicIdent;
     Procedure TestFunctionPublic;
@@ -819,6 +820,12 @@ begin
   AssertProc([],[],ccSysCall,0);
 end;
 
+procedure TTestProcedureFunction.TestCallingConventionSysCallExecbase;
+begin
+  ParseProcedure('; syscall _execBase 123');
+  AssertProc([],[],ccSysCall,0);
+end;
+
 procedure TTestProcedureFunction.TestCallingConventionHardFloat;
 begin
   ParseProcedure('; HardFloat');