mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 15:49:26 +02:00
* if the creation of the method implementation raises ENotImplemented we ignore the test as not all calling conventions might be supported currently (e.g. on i386 only "register" is for now)
git-svn-id: trunk@42151 -
This commit is contained in:
parent
4adce9b1bd
commit
601f0bd6b1
@ -426,7 +426,12 @@ begin
|
||||
InputUntypedTypes[i + 1] := Nil;
|
||||
end;
|
||||
|
||||
impl := method.CreateImplementation({$ifdef fpc}@{$endif}OnHandleInvokable);
|
||||
try
|
||||
impl := method.CreateImplementation({$ifdef fpc}@{$endif}OnHandleInvokable);
|
||||
except
|
||||
on e: ENotImplemented do
|
||||
Exit;
|
||||
end;
|
||||
CheckNotNull(impl, 'Method implementation is Nil');
|
||||
|
||||
mrec.Data := Self;
|
||||
@ -501,7 +506,12 @@ begin
|
||||
InputUntypedTypes[i] := Nil;
|
||||
end;
|
||||
|
||||
impl := proc.CreateImplementation({$ifdef fpc}@{$endif}OnHandleInvokable);
|
||||
try
|
||||
impl := proc.CreateImplementation({$ifdef fpc}@{$endif}OnHandleInvokable);
|
||||
except
|
||||
on e: ENotImplemented do
|
||||
Exit;
|
||||
end;
|
||||
CheckNotNull(impl, 'Method implementation is Nil');
|
||||
|
||||
cp := impl.CodeAddress;
|
||||
@ -555,7 +565,12 @@ procedure TTestImpl.TestIntfMethods;
|
||||
var
|
||||
intf: ITestInterface;
|
||||
begin
|
||||
intf := TVirtualInterface.Create(PTypeInfo(TypeInfo(ITestInterface)), {$ifdef fpc}@{$endif}OnHandleIntfMethod) as ITestInterface;
|
||||
try
|
||||
intf := TVirtualInterface.Create(PTypeInfo(TypeInfo(ITestInterface)), {$ifdef fpc}@{$endif}OnHandleIntfMethod) as ITestInterface;
|
||||
except
|
||||
on e: ENotImplemented do
|
||||
Exit;
|
||||
end;
|
||||
Check(Assigned(intf), 'ITestInterface instance is Nil');
|
||||
|
||||
{$ifdef fpc}specialize{$endif}GenDoIntfImpl<ITestInterface>(intf, 1, [], [], [], TValue.Empty);
|
||||
|
Loading…
Reference in New Issue
Block a user