mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-19 12:29:30 +02:00
Merge branch 'noinline-noreturn' into 'main'
Updated supported procedure modifiers: noinline, noreturn See merge request freepascal.org/lazarus/lazarus!72
This commit is contained in:
commit
0cec6db9e6
@ -265,6 +265,8 @@ type
|
||||
psEnumerator,
|
||||
psVarargs,
|
||||
psVectorCall,
|
||||
psNoReturn,
|
||||
psNoInline,
|
||||
psEdgedBracket
|
||||
);
|
||||
TAllProcedureSpecifiers = set of TProcedureSpecifier;
|
||||
@ -277,6 +279,7 @@ const
|
||||
'FAR', 'NEAR', 'FINAL', 'STATIC', 'MWPASCAL', 'NOSTACKFRAME',
|
||||
'DEPRECATED', 'DISPID', 'PLATFORM', 'SAFECALL', 'UNIMPLEMENTED',
|
||||
'EXPERIMENTAL', 'LIBRARY', 'ENUMERATOR', 'VARARGS', 'VECTORCALL',
|
||||
'NORETURN', 'NOINLINE',
|
||||
'['
|
||||
);
|
||||
|
||||
|
@ -879,6 +879,7 @@ begin
|
||||
Add('MS_ABI_CDECL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('EXTDECL' ,{$ifdef FPC}@{$endif}AllwaysTrue); // often used for macros
|
||||
ADD('MWPASCAL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('NOINLINE' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('NOSTACKFRAME' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('NORETURN' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('DEPRECATED' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
@ -934,6 +935,7 @@ begin
|
||||
Add('LOCAL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
ADD('MWPASCAL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('NEAR' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('NOINLINE' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('NORETURN' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('NOSTACKFRAME' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
Add('OLDFPCCALL' ,{$ifdef FPC}@{$endif}AllwaysTrue);
|
||||
|
@ -1345,7 +1345,7 @@ function TPascalParserTool.KeyWordFuncClassMethod: boolean;
|
||||
|
||||
proc specifiers without parameters:
|
||||
stdcall, virtual, abstract, dynamic, overload, override, cdecl, inline,
|
||||
rtlproc, noreturn
|
||||
rtlproc, noinline, noreturn
|
||||
|
||||
proc specifiers with parameters:
|
||||
message <id or number>
|
||||
|
@ -413,6 +413,8 @@ type
|
||||
po_auto_raised_visibility,
|
||||
{ procedure is far (x86 only) }
|
||||
po_far,
|
||||
{ Procedure can't be inlined }
|
||||
po_noinline,
|
||||
{ the procedure never returns, this information is usefull for dfa }
|
||||
po_noreturn
|
||||
);
|
||||
@ -545,6 +547,8 @@ const
|
||||
'auto_raised_visibility',
|
||||
{ procedure is far (x86 only) }
|
||||
'far',
|
||||
{ Procedure can't be inlined }
|
||||
'noinline',
|
||||
{ the procedure never returns, this information is usefull for dfa }
|
||||
'noreturn'
|
||||
);
|
||||
|
@ -1833,7 +1833,8 @@ end;
|
||||
function TSynPasSyn.Func92: TtkTokenKind;
|
||||
begin
|
||||
if D4syntax and KeyComp('overload') then Result := tkKey else
|
||||
if KeyComp('Inherited') then Result := tkKey else Result := tkIdentifier;
|
||||
if KeyComp('NoInline') then Result := tkKey else
|
||||
if KeyComp('Inherited') then Result := tkKey else Result := tkIdentifier;
|
||||
end;
|
||||
|
||||
function TSynPasSyn.Func94: TtkTokenKind;
|
||||
|
Loading…
Reference in New Issue
Block a user