Hi the list.
I am now running what I think is the up to date gpc version:
971001(2.7.2.1)
(documentation of 970714)
(why is the name now xgpc?)
Except my misunderstanding of something, the followings
are types expected to be supported by the brand new GPC:
(signed) (unsigned) (signless) GNU C equivalent typical size
(bits)
ByteInt ByteCard Byte [un]signed char 8
ShortInt ShortCard ShortWord [unsigned] short int 16
Integer Cardinal Word [unsigned] int 32
MedInt MedCard MedWord [unsinged] long int 32
LongInt LongCard LongWord [unsinged] long long int 64
But none of them is accepted by the compilator (except Integer, and may
be few last I haven't tested, but ByteInt, ShortInt, MedInt, LongInt,
ByteCard, Byte, Shortcard, ShortWord and Word does not work, for the
others, I don't know but I bet they do not work as well).
That a type "does not work" means that in my source if I put
var i, j : byte;
then GPC will yell at me:
laussy@localhost /home/laussy/conway 18:17:35 Sun Mar 1
20$ gpc --version
971001(2.7.2.1)
laussy@localhost /home/laussy/conway 18:18:19 Sun Mar 1
21$ gpc byte.test.pas
byte.test.pas: In function `program_Test':
byte.test.pas:3: type name expected, identifier `Byte' given
The same for the others.
If I keep the old type definition:
type
shortint = __byte__ integer;
byte = __unsigned__ shortint;
then the byte algebra is still bugged, with for example
and absolute value of (2-4) given to be 252!
Besides, in the doc, one can find:
* The Run Time System (RTS) does not know about modified types such
as `__byte__' or `__unsigned__ Integer's or `__long__ Real's.
Especially, you cannot `writeln' such variables.
Is it somewhat related?
Cheers,
F.P.L