mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-06 05:46:34 +02:00
* noreturn procedure modifier (bug ID 31285)
git-svn-id: trunk@35361 -
This commit is contained in:
parent
0dc3d03755
commit
a51efe50b7
@ -810,7 +810,7 @@ type
|
|||||||
TProcedureModifier = (pmVirtual, pmDynamic, pmAbstract, pmOverride,
|
TProcedureModifier = (pmVirtual, pmDynamic, pmAbstract, pmOverride,
|
||||||
pmExport, pmOverload, pmMessage, pmReintroduce,
|
pmExport, pmOverload, pmMessage, pmReintroduce,
|
||||||
pmStatic,pmInline,pmAssembler,pmVarargs, pmPublic,
|
pmStatic,pmInline,pmAssembler,pmVarargs, pmPublic,
|
||||||
pmCompilerProc,pmExternal,pmForward, pmdispid);
|
pmCompilerProc,pmExternal,pmForward, pmdispid, pmnoreturn);
|
||||||
TProcedureModifiers = Set of TProcedureModifier;
|
TProcedureModifiers = Set of TProcedureModifier;
|
||||||
TProcedureMessageType = (pmtNone,pmtInteger,pmtString);
|
TProcedureMessageType = (pmtNone,pmtInteger,pmtString);
|
||||||
|
|
||||||
@ -1390,7 +1390,7 @@ const
|
|||||||
= ('virtual', 'dynamic','abstract', 'override',
|
= ('virtual', 'dynamic','abstract', 'override',
|
||||||
'export', 'overload', 'message', 'reintroduce',
|
'export', 'overload', 'message', 'reintroduce',
|
||||||
'static','inline','assembler','varargs', 'public',
|
'static','inline','assembler','varargs', 'public',
|
||||||
'compilerproc','external','forward','dispid');
|
'compilerproc','external','forward','dispid','noreturn');
|
||||||
|
|
||||||
procedure ReleaseAndNil(var El: TPasElement); overload;
|
procedure ReleaseAndNil(var El: TPasElement); overload;
|
||||||
|
|
||||||
|
@ -132,6 +132,7 @@ type
|
|||||||
Procedure TestProcedureCdeclForward;
|
Procedure TestProcedureCdeclForward;
|
||||||
Procedure TestFunctionCDeclForward;
|
Procedure TestFunctionCDeclForward;
|
||||||
Procedure TestProcedureCompilerProc;
|
Procedure TestProcedureCompilerProc;
|
||||||
|
Procedure TestProcedureNoReturn;
|
||||||
Procedure TestFunctionCompilerProc;
|
Procedure TestFunctionCompilerProc;
|
||||||
Procedure TestProcedureCDeclCompilerProc;
|
Procedure TestProcedureCDeclCompilerProc;
|
||||||
Procedure TestFunctionCDeclCompilerProc;
|
Procedure TestFunctionCDeclCompilerProc;
|
||||||
@ -961,6 +962,12 @@ begin
|
|||||||
AssertProc([pmCompilerProc],ccDefault,0);
|
AssertProc([pmCompilerProc],ccDefault,0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTestProcedureFunction.TestProcedureNoReturn;
|
||||||
|
begin
|
||||||
|
ParseProcedure(';noreturn;','');
|
||||||
|
AssertProc([pmnoreturn],ccDefault,0);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTestProcedureFunction.TestFunctionCompilerProc;
|
procedure TTestProcedureFunction.TestFunctionCompilerProc;
|
||||||
begin
|
begin
|
||||||
AddDeclaration('function A : Integer; compilerproc');
|
AddDeclaration('function A : Integer; compilerproc');
|
||||||
|
Loading…
Reference in New Issue
Block a user