Frank Heckenbach wrote:
Waldek Hebisch wrote:
I propose to make `Integer' equivalent to `PtrInt', `Cardinal' to `PtrCard', `Word' to `PtrWord' (so also `PtrCard'). And `CInteger', `CCardinal', `CWord' should be equivalent to `[unsigned] int'.
<snip>
The changes in the compiler are not difficult, of course. We see the most effort in changing C interfaces. I suggest something like this:
{$if __GPC_RELEASE__ < 20040801} type CInteger = Integer; CCardinal = Cardinal; CWord = Word; {$endif}
And replace `Integer', `Cardinal' and `Word' in the declarations with `C...'.
<snip>
- C compatibility types (needed in interfaces, of course). Here we have to follow the C model, but we're free to choose our names (such as `CInteger' in the proposed model).
<snip>
And I think we agree on Waldek's proposal, don't we?
I agree on the size issue, but not on the proposed nomenclature. Since the purpose of the C-type names is C-header conversion, C-like names will be more practical.
CChar CSignedChar CUnsignedChar CShort CSignedShort CUnsignedShort CInt CSignedInt CUnsignedInt CLong CSignedLong CUnsignedLong CLongLong CSignedLongLong CUnsignedLongLong
Regards,
Adriaan van Os