* noreturn procedure modifier (bug ID 31285)

git-svn-id: trunk@35361 -
This commit is contained in:
michael 2017-01-29 15:12:29 +00:00
parent 0dc3d03755
commit a51efe50b7
2 changed files with 9 additions and 2 deletions

View File

@ -810,7 +810,7 @@ type
TProcedureModifier = (pmVirtual, pmDynamic, pmAbstract, pmOverride,
pmExport, pmOverload, pmMessage, pmReintroduce,
pmStatic,pmInline,pmAssembler,pmVarargs, pmPublic,
pmCompilerProc,pmExternal,pmForward, pmdispid);
pmCompilerProc,pmExternal,pmForward, pmdispid, pmnoreturn);
TProcedureModifiers = Set of TProcedureModifier;
TProcedureMessageType = (pmtNone,pmtInteger,pmtString);
@ -1390,7 +1390,7 @@ const
= ('virtual', 'dynamic','abstract', 'override',
'export', 'overload', 'message', 'reintroduce',
'static','inline','assembler','varargs', 'public',
'compilerproc','external','forward','dispid');
'compilerproc','external','forward','dispid','noreturn');
procedure ReleaseAndNil(var El: TPasElement); overload;

View File

@ -132,6 +132,7 @@ type
Procedure TestProcedureCdeclForward;
Procedure TestFunctionCDeclForward;
Procedure TestProcedureCompilerProc;
Procedure TestProcedureNoReturn;
Procedure TestFunctionCompilerProc;
Procedure TestProcedureCDeclCompilerProc;
Procedure TestFunctionCDeclCompilerProc;
@ -961,6 +962,12 @@ begin
AssertProc([pmCompilerProc],ccDefault,0);
end;
procedure TTestProcedureFunction.TestProcedureNoReturn;
begin
ParseProcedure(';noreturn;','');
AssertProc([pmnoreturn],ccDefault,0);
end;
procedure TTestProcedureFunction.TestFunctionCompilerProc;
begin
AddDeclaration('function A : Integer; compilerproc');