Hi Seb,

On 03/11/10 05:45 pm, Sebastien Lelong wrote:

Here's some jal code, which, when compiled with last 2.4n, produces:

"warning: constant does not fit in UNIVERSAL"

Shortly after the 26 Feb. release of 2.4n-beta I reported this bug to Kyle and got a source fix (see below). I expected this beta would have been replaced by now. But maybe Kyle wants to fix some other bugs before releasing a new beta (or has another reason)...


To fix this bug: replace lines /src/jal/jal_tokn.c lines 384-397

 while (('_' == *ptr) || (0 != (digptr = memchr(digits, *ptr, base)))) {
   if ('_' != *ptr) {
     n = n * base + (digptr - digits);
     if (!suppress && (n * base < n)) {
       /*
        * only issue this warning once/constant
        */
       pfile_log(pf, pfile_log_warn,
         "constant does not fit in UNIVERSAL");
       suppress = boolean_true;
     }
   }
   ptr++;
 }

by:

 while (('_' == *ptr) || (0 != (digptr = memchr(digits, *ptr, base)))) {
   if ('_' != *ptr) {
     if (!suppress && (n * base < n)) {
       /*
        * only issue this warning once/constant
        */
       pfile_log(pf, pfile_log_warn,
         "constant does not fit in UNIVERSAL");
       suppress = boolean_true;
     }
     n = n * base + (digptr - digits);
   }
   ptr++;
 }

Effectively only one line (n = n * base ...) has to be moved down!

Regards, Rob.

--
Rob Hamerling, Vianen, NL (http://www.robh.nl/)

--
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to