I've posted about it before, but this library / program:
https://github.com/neslib/Chetgives pretty much 100% correct translations of basically any header you throw at it (for which it has its use of libClang to thank, specifically).
The only caveats are that it's designed specifically for Delphi, and also that it does tend to leave in a number of "unrelated" definitions for things (which you'll of course generally want to remove from the "final version" of a given translation.)
I'm currently working on a proper FPC port of it though, as even as-is it's way, way, way better than H2Pas. (No offense meant by that, but really, I don't think anyone has
ever claimed H2Pas was "good". It relies on a (port) of a (really outdated) version of, uh,
Yacc after all...)
Well, it is a fact that a variant of TStringList based on generics was slower than the non-generic one. And especially if managed types (strings for example) are involved untyped pointers are indeed faster, but I personally favor the increased type safety I get with generics.
Again, I'm not a fan of the general tone of the post you were responding to there, but the "generic TStringList was slower
because of generics" thing is
absurd.
It was slower almost entirely because the specific implementation of maps in FGL (one of which the generic TStringList used internally) is
awful. (I.E. they are in no way, whatsoever, actual hashmaps, amongst various other flaws.)
Were it based around stuff from the current revision of Generics.Collections, it would almost certainly be quite a bit faster.
In general: FPC monomorphizes generics in all cases, thus, they cannot be slower, because they are literally the same thing as a directly equivalent non-generic implementation.