[M3commit] CVS Update: cm3 (64 bit integers...)

j k jayk123 at hotmail.com
Sun Aug 26 14:08:59 CEST 2007

Here is the change:< TYPE T = BITS 64 FOR [ -16_7fffffffffffffffL-1L .. 16_7fffffffffffffffL ];> (*TYPE T = BITS 64 FOR [ -16_7fffffffffffffffL-1L .. 16_7fffffffffffffffL ];*)> TYPE T = BITS BITSIZE(LONGINT) FOR [ FIRST(LONGINT) .. LAST(LONGINT) ];Otherwise you get a compile error when the constants overflow at compile time.I still think all this stuff is a little wierd. Can we write off ALPHA_OSF, assert that INTEGER is 32 bits, and introduce a new type that is the same size as a pointer?Again I think the types you want are:  INT8, INT16, INT32, INT64 -- signed types with exact sizes, the same on all platforms (INT64 yet missing on Win32)   UINT8, UINT16, UINT32, UINT64  -- unsigned types with exact sizes, the same on all platforms (UINT64 yet missing on Win32)   SIZE_T, ?SSIZE_T? or ?PTRDIFF_T?-- unsigned and signed types for storing addresses, or sizes of arrays, or array indices, or the differences thereof, PERHAPS guaranteed to be 32 bits or 64 bits   INTEGER -- same as SSIZE_T ?or? INT32??     What's the pickle story? Are pickles interchangable beteen Alpha and non-Alpha?     Should probably be equiv to SSIZE_T. That's what Alpha has.  LONGINT -- same as INT64   - Jay> Date: Sun, 26 Aug 2007 13:43:01 +0000> To: m3commit at elegosoft.com> From: jkrell at elego.de> Subject: [M3commit] CVS Update: cm3> > CVSROOT:	/usr/cvs> Changes by:	jkrell at birch.	07/08/26 13:43:01> > Modified files:> 	cm3/m3-libs/libm3/src/types/: Int64.i3 > > Log message:> 	Fix it to compile for Win32's temporary 32 bit Int64.> 	Is this correct? I think so.> 
Messenger Café — open for fun 24/7. Hot games, cool activities served daily. Visit now.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3commit/attachments/20070826/4d219f66/attachment-0003.html>

More information about the M3commit mailing list