diff --git a/packages/fcl-passrc/src/pparser.pp b/packages/fcl-passrc/src/pparser.pp index 81c8611b39..4981b6486f 100644 --- a/packages/fcl-passrc/src/pparser.pp +++ b/packages/fcl-passrc/src/pparser.pp @@ -2159,7 +2159,7 @@ Const NoHintTokens = [tkProcedure,tkFunction]; InterfaceKindTypes : Array[Boolean] of TPasObjKind = (okInterface,okObjcProtocol); ClassKindTypes : Array[TLocalClassType] of TPasObjKind = (okClass,okObjCClass,okObjcCategory,okClassHelper); - FuncArgResultTypeTokens = [tkIdentifier,tkarray,tkSpecialize]; + FuncArgResultTypeTokens = [tkIdentifier,tkarray,tkSpecialize,tkfile]; var PM: TPackMode; diff --git a/packages/fcl-passrc/tests/tcprocfunc.pas b/packages/fcl-passrc/tests/tcprocfunc.pas index bd012beb9d..fe9e4ababf 100644 --- a/packages/fcl-passrc/tests/tcprocfunc.pas +++ b/packages/fcl-passrc/tests/tcprocfunc.pas @@ -104,6 +104,7 @@ type Procedure TestFunctionArrayOfConstArg; procedure TestProcedureConstArrayOfConstArg; Procedure TestFunctionConstArrayOfConstArg; + Procedure TestProcedureArgFile; Procedure TestProcedureCdecl; Procedure TestFunctionCdecl; @@ -832,6 +833,12 @@ begin AssertArrayArg(FuncType,0,'B',argConst,''); end; +procedure TTestProcedureFunction.TestProcedureArgFile; +begin + ParseProcedure('(Const B : File)'); + AssertProc([],[],ccDefault,1); +end; + procedure TTestProcedureFunction.TestCallingConventionSysV_ABI_Default; begin ParseProcedure('; SysV_ABI_Default');