[M3devel] subrange or enum, with cvshead

Tony Hosking hosking at cs.purdue.edu
Fri Aug 24 04:03:56 CEST 2007


I tracked this one down to a problem with building m3cc on x86_64.   
It turns out (for reasons yet to be determined) that floating point  
constants get built wrong when m3cc is configured with CC="gcc -m32"  
that the problem goes away.  This problem is internal to the gcc- 
based backend, so dtoa is not involved.

On Aug 23, 2007, at 8:21 PM, Rodney M. Bates wrote:

> I just noticed that the failing code here looks a lot like the failure
> I traced to the dtoh problem.
>
> Dragiša Durić wrote:
>> After I've compiled CM3 from cvshead for LINUXLIBC6 on x86_64  
>> (skipping
>> m3gdb, which I've reported earlier would not compile for me) I am
>> getting this error when I try to rn one of programs that worked
>> flawlessy few checkouts ago.
>> ***
>> *** runtime error:
>> ***    An enumeration or subrange value was out of range.
>> ***    file "../src/uid/Common/TimeStamp.m3", line 63
>> ***
>> This is corresponding code:
>>         now := Time.Now() - epoch;
>>  >>>    time := TRUNC(now);
>>         fineTime := ROUND(LongFloat.Scalb(now - FLOAT(time,  
>> LONGREAL), 8));
>> I've identified few other problems, but I suppose ther are all
>> variations...
>> 	
>
> -- 
> -------------------------------------------------------------
> Rodney M. Bates, retired assistant professor
> Dept. of Computer Science, Wichita State University
> Wichita, KS 67260-0083
> 316-978-3922
> rodney.bates at wichita.edu




More information about the M3devel mailing list