At 15:22 +0100 10/3/06, Waldek Hebisch wrote:
Adriaan van Os wrote:
int9 = -1..0 attribute( size = 9);
I do not understand what is your point here. Do you argue "in abstract" or maybe you have some concrete proposal what to change in GPC?
I believe Adriaan's issue is that he wants to be able to define the type "Integer" to be a specific size, different from GPC's default, effectively:
type Integer = Integer attribute( size = 16 );
His argument is that the second "integer" is not a use of the pre-defined type "integer" as such, it is a "placeholder for the-family-of-signed-integral-numbers".
The issue stems from the compatibility problem that otherwise arises when porting from Pascal dialects that traditionally have a 16 bit integer.
If you can suggest a way to define the "Integer" type to be 16 bits, as has previously been done as:
Int16 = Integer attribute( size = 16); Integer = Int16; {error: identifier `Integer' redeclared in a scope where an outer value was used}
then that would probably be sufficient. Otherwise, I believe he is suggesting that the use of Integer (or Cardinal) with an attached size attribute not be considered a use of the Integer (or Cardinal) type as far as the "redeclared in a scope where an outer value was used" warning is concerned.
Enjoy, Peter.