[M3devel] LONGINT -> more bugs in m3tk

Rodney M. Bates rodney_bates at lcwb.coop
Tue Apr 26 18:28:34 CEST 2011


I just checked in a patch tp M3CExpValue.m3 in m3tk, in the head, which I believe will fix this
bug.  I compiled it, but have not tested it, as I am sure Mika has this case to retry
more quickly than I can.

On 04/19/2011 06:51 AM, Mika Nystrom wrote:
> Hello m3devel,
>
> If anyone knows how to fix the following trivially, please go ahead.
>
> "/usr/local/cm3/pkg/m3core/src/C/64BITS/BasicCtypes.i3", line 18,45: type error in arguments to binary operator
> "/usr/local/cm3/pkg/m3core/src/C/64BITS/BasicCtypes.i3", line 18,25: bad numeric literal
> "/usr/local/cm3/pkg/m3core/src/C/64BITS/BasicCtypes.i3", line 18,51: bad numeric literal
>
> (errors reported by m3tk).
>
> The offending line is:
>
> INTERFACE BasicCtypes;
>
> IMPORT Word, Long;
>
> TYPE
>    (* 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_7fffffffffffffff -1  .. 16_7fffffffffffffff ];
>    long_long          = [-16_7fffffffffffffffL-1L .. 16_7fffffffffffffffL];   (** HERE **)
>
>    (* the four unsigned integer types *)
>    unsigned_char      = [16_0 .. 16_ff];
>    unsigned_short_int = [16_0 .. 16_ffff];
>    unsigned_int       = [16_0 .. 16_ffffffff];
>    unsigned_long_int  = Word.T;
>    unsigned_long_long = Long.T;
>
>    (* the three floating types *)
>    float              = REAL;
>    double             = LONGREAL;
>    long_double        = EXTENDED;
>
>    (* char *)
>    char               = signed_char;
>
> END BasicCtypes.
>
> I'll look at it myself, but not immediately (no time).  Workaround for now.
>
>      Mika
>



More information about the M3devel mailing list