diff --git a/packages/fcl-passrc/src/pasresolver.pp b/packages/fcl-passrc/src/pasresolver.pp index 448dc313fe..2c3b77359d 100644 --- a/packages/fcl-passrc/src/pasresolver.pp +++ b/packages/fcl-passrc/src/pasresolver.pp @@ -8364,7 +8364,7 @@ procedure TPasResolver.FinishArgument(El: TPasArgument); var IsDelphi: Boolean; begin - if not (El.Access in [argDefault,argConst,argVar,argOut]) then + if not (El.Access in [argDefault,argConst,argVar,argOut,argConstRef]) then RaiseMsg(20191018235644,nNotYetImplemented,sNotYetImplemented,[AccessDescriptions[El.Access]],El); if El.ArgType<>nil then CheckUseAsType(El.ArgType,20190123100049,El); diff --git a/packages/fcl-passrc/tests/tcresolver.pas b/packages/fcl-passrc/tests/tcresolver.pas index 097b339739..9c85273365 100644 --- a/packages/fcl-passrc/tests/tcresolver.pas +++ b/packages/fcl-passrc/tests/tcresolver.pas @@ -383,7 +383,7 @@ type // procs Procedure TestProcParam; Procedure TestProcParamAccess; - Procedure TestProcParamConstRefFail; + Procedure TestProcParamConstRef; Procedure TestFunctionResult; Procedure TestProcedureResultFail; Procedure TestProc_ArgVarPrecisionLossFail; @@ -6129,14 +6129,15 @@ begin ParseProgram; end; -procedure TTestResolver.TestProcParamConstRefFail; +procedure TTestResolver.TestProcParamConstRef; begin StartProgram(false); - Add('procedure Run(constref a: word);'); - Add('begin'); - Add('end;'); - Add('begin'); - CheckResolverException('not yet implemented: constref',nNotYetImplemented); + Add([ + 'procedure Run(constref a: word);', + 'begin', + 'end;', + 'begin']); + ParseProgram; end; procedure TTestResolver.TestFunctionResult;