Yes.
Of course fail and typeof are supported. FPC is generally more TP compatible than GPC ever was:
Actually to my best knowledge, Typeof's main use case is TVision stream registration records, and fail is sometimes used for emulating abstract functions in combination with a log of a traceback iirc. (but TP objects are a really long time ago for me)
Maybe GPC has no FV/TV, so maybe the request that trigger their implementation had to be something else.
{$mode tp}
uses objects;
type t= object(tcollection)
constructor init;
end;
constructor t.init;
begin
fail;
end;
begin
writeln(ptrint(typeof(t)));
end.
compiles fine.
Documentation seems to be absent (though FAIL helper is shown in a piece of assembler in the name mangling paragraph, and the internal fpc_in_typeof helper (that the language construct compiles to)
is documented
typeof is also used in an streaming example in the manual.
Please file a bug for missing documentation of these two items.