[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 64-bit extensions
Michael van Acken (mvacken@t-online.de) schrieb:
>Adding a compiler switch to change properties of data types is a new
>dialect. A pretty bad kind of new dialect.
What else would you suggest? Changing all modules containing pointers to use
a new "POINTER64 TO ..."? Surly, not!
>Porting the Oberon System to OOC is no problem whatsoever. Even if
>the target is a 64 bit architecture. Only modules depending on SYSTEM
>have to be adjusted. This is exactly how it was intended to be since
>ancient Modula-2 times.
You have some posibilities here, which one would you prefere?
1) leave pointers 32 bit -> can't use 64-bit mem
2) make all pointers 64 bit -> how to interface to system-stuff?
3) and a compilation option to switch pointer-size
4) add another reserved word POINTER64 and change all modules which should
use 64 bit pointers.
Please note: in this case you will get a) maintenenace problems (big, big
ones), b) have to change _all_ of e.g. the Oberon Systems modules (incl.
pure applications) if Oberon System should support 64 bit pointers.
Which one do you choice? Or so you see any other possiblities?
This is the point we started first. It's not been our goal to enlarge
LONGINT.
>FYI: oo2c_64 bombed on an Alpha with a completely nonsence floating
>point exception in LowReal.c or the like. This has nothing to do with
>data type concepts.
IC!
>And my point is: adding a compiler switch to change data types is no
>solution. It's a problem.
You may be right, but a) POINTER is no a datatype and b) I don't see any
other solution, do you? LONGINT has to be changed as a result.
+++hartmut