fcl-passrc: resolver: check arg access

git-svn-id: trunk@43224 -
This commit is contained in:
Mattias Gaertner 2019-10-18 21:58:05 +00:00
parent a832f3615b
commit d184c527b3
2 changed files with 13 additions and 0 deletions

View File

@ -12468,6 +12468,8 @@ begin
{$IFDEF VerbosePasResolver}
writeln('TPasResolver.AddArgument ',GetObjName(El));
{$ENDIF}
if El.Access in [argDefault,argConst,argVar,argOut] then
RaiseNotYetImplemented(20191018235644,El,AccessNames[El.Access]);
CurScope:=TopScope;
if (CurScope=nil) then
RaiseInvalidScopeForElement(20160922163529,El);

View File

@ -382,6 +382,7 @@ type
// procs
Procedure TestProcParam;
Procedure TestProcParamAccess;
Procedure TestProcParamConstRefFail;
Procedure TestFunctionResult;
Procedure TestProcedureResultFail;
Procedure TestProc_ArgVarPrecisionLossFail;
@ -6102,6 +6103,16 @@ begin
ParseProgram;
end;
procedure TTestResolver.TestProcParamConstRefFail;
begin
StartProgram(false);
Add('procedure Run(constref a: word);');
Add('begin');
Add('end;');
Add('begin');
CheckResolverException('not yet implemented: a:TPasArgument [20191018235644]',nNotYetImplemented);
end;
procedure TTestResolver.TestFunctionResult;
begin
StartProgram(false);