fpc/tests/test/tfuncref44.pp

41 lines
1.1 KiB
ObjectPascal

{ %NORUN }
{ normal procedure variable directives can be used on function references }
program tfuncref44;
{$mode delphi}
{$modeswitch functionreferences}
{same as tfuncref5 but with mode delphi}
type
TProc1 = reference to procedure cdecl;
TProc2 = reference to procedure; cdecl;
//TProc3 = reference to procedure; [cdecl];
TFunc1 = reference to function: LongInt cdecl;
TFunc2 = reference to function: LongInt; cdecl;
//TFunc3 = reference to function: LongInt; [cdecl];
var
Proc1: reference to procedure cdecl;
Proc2: reference to procedure; cdecl;
//Proc3: reference to procedure; [cdecl];
Func1: reference to function: LongInt cdecl;
Func2: reference to function: LongInt; cdecl;
//Func3: reference to function: LongInt; [cdecl];
const
CProc1: reference to procedure cdecl = Nil;
CProc2: reference to procedure; cdecl = Nil;
//CProc3: reference to procedure; [cdecl] = Nil;
CFunc1: reference to function: LongInt cdecl = Nil;
CFunc2: reference to function: LongInt; cdecl = Nil;
//CFunc3: reference to function: LongInt; [cdecl] = Nil;
begin
end.