[M3devel] LONGINT -> more bugs in m3tk

Mika Nystrom mika at async.caltech.edu
Wed May 18 03:35:42 CEST 2011


I think you'll get that error if you run stubgen on anything that references
a type from BasicCtypes (e.g., int, char_star ...)

I'm pretty sure I actually got it running the stub generator for my
Scheme interpreter, which I have posted links to here a few times, but I
haven't had time to push into CM3 yet.

     Mika

"Rodney M. Bates" writes:
>Mika, can you tell me what main program and command you used to get these erro
>rs?
>It would help me to test changes to m3tk.
>
>On 04/26/2011 11:28 AM, Rodney M. Bates wrote:
>> I just checked in a patch tp M3CExpValue.m3 in m3tk, in the head, which I be
>lieve 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 e
>rror in arguments to binary operator
>>> "/usr/local/cm3/pkg/m3core/src/C/64BITS/BasicCtypes.i3", line 18,25: bad nu
>meric literal
>>> "/usr/local/cm3/pkg/m3core/src/C/64BITS/BasicCtypes.i3", line 18,51: bad nu
>meric 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