[M3devel] latest failure on NT386

Jay jayk123 at hotmail.com
Mon Apr 14 09:32:51 CEST 2008


Olaf, this will fix your problem. Tony should speak to it probably before it is commited -- like if it works on AMD64_DARWIN.
 
Here is my reluctant proposal:
cvs diff: Diffing 32BITSIndex: 32BITS/BasicCtypes.i3===================================================================RCS file: /usr/cvs/cm3/m3-libs/m3core/src/C/32BITS/BasicCtypes.i3,vretrieving revision 1.10diff -c -r1.10 BasicCtypes.i3*** 32BITS/BasicCtypes.i3       13 Apr 2008 19:41:49 -0000      1.10--- 32BITS/BasicCtypes.i3       14 Apr 2008 07:20:59 -0000****************** 13,21 ****    (* the four signed integer types *)    signed_char        = [-16_7f-1 .. 16_7f];    short_int          = [-16_7fff-1 .. 16_7fff];!   int                = [-16_7fffffff-1 .. 16_7fffffff];!   long_int           = [-16_7fffffff-1 .. 16_7fffffff];!   long_long          = [-16_7fffffffffffffffL-1L .. 16_7fffffffffffffffL];
    (* the four unsigned integer types *)    unsigned_char      = [16_0 .. 16_ff];--- 13,21 ----    (* the four signed integer types *)    signed_char        = [-16_7f-1 .. 16_7f];    short_int          = [-16_7fff-1 .. 16_7fff];!   int                = INTEGER;!   long_int           = INTEGER;!   long_long          = LONGINT;
    (* the four unsigned integer types *)    unsigned_char      = [16_0 .. 16_ff];cvs diff: Diffing 64BITSIndex: 64BITS/BasicCtypes.i3===================================================================RCS file: /usr/cvs/cm3/m3-libs/m3core/src/C/64BITS/BasicCtypes.i3,vretrieving revision 1.8diff -c -r1.8 BasicCtypes.i3*** 64BITS/BasicCtypes.i3       13 Apr 2008 19:44:02 -0000      1.8--- 64BITS/BasicCtypes.i3       14 Apr 2008 07:20:59 -0000****************** 14,21 ****    signed_char        = [-16_7f-1 .. 16_7f];    short_int          = [-16_7fff-1 .. 16_7fff];    int                = [-16_7fffffff-1 .. 16_7fffffff];!   long_int           = [-16_7fffffffffffffff -1  .. 16_7fffffffffffffff ];!   long_long          = [-16_7fffffffffffffffL-1L .. 16_7fffffffffffffffL];
    (* the four unsigned integer types *)    unsigned_char      = [16_0 .. 16_ff];--- 14,21 ----    signed_char        = [-16_7f-1 .. 16_7f];    short_int          = [-16_7fff-1 .. 16_7fff];    int                = [-16_7fffffff-1 .. 16_7fffffff];!   long_int           = INTEGER;!   long_long          = LONGINT;
    (* the four unsigned integer types *)    unsigned_char      = [16_0 .. 16_ff];
Win64 might not be able to use this but I guess the other 64 bit systems can.
The bigger point is the 32bit fix to get NT386 compiling again.
Type "long" is just dumb imho.By corrolary LONGINT.
There should be the explicitly sized types  [u]int[8,16,32,64,more in the future]  and then unsigned and signed pointer sized types    aka   size_t, ptrdiff_t     or size_t, ssize_t      or Word.T, INTEGER  
I think it's unfortunate that Modula-3 followed C's lead here.This is one thing C definitely did wrong.You just know, 128 bit types are going to be called "long long long"..
When they should have been called like int128 and uint128 and possibly size_t, ssize_t.
Arguably "size_t" should be "word". "size_t" isn't the best name probably, but I'm not fighting that one. :)
(I'm not really fighting any of this; I lost already.)
 - Jay



> Date: Mon, 14 Apr 2008 09:18:35 +0200> From: wagner at elegosoft.com> To: m3devel at elegosoft.com> Subject: [M3devel] latest failure on NT386> > Just when I thought that I finally might be able to run a complete> regression on NT386, the compilation breaks with this:> > new source -> compiling Cstdlib.i3> "..\src\C\32BITS\BasicCtypes.i3", line 18: illegal based LONGINT > literal, zero used> "..\src\C\32BITS\BasicCtypes.i3", line 18: illegal based LONGINT > literal, zero used> "..\src\C\Common\Cstdlib.i3", line 13: imported interface contains > errors (Ctypes)> 3 errors encountered> new source -> compiling Csetjmp.i3> "..\src\C\NT386\Csetjmp.i3", line 13: imported interface contains > errors (Ctypes)> 1 error encountered> > Can anybody look into that?> > Olaf> -- > Olaf Wagner -- elego Software Solutions GmbH> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE16321419> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080414/94e2eb21/attachment-0002.html>


More information about the M3devel mailing list