On 2012-03-13 16:49:37 +0100, Vincent Lefevre wrote: > FYI, the problem occurs for shift counts from 32 to 63 (larger > shift counts are invalid in C, since the variable is on 64 bits).
The bug disappears when I replace 1UL by: (unsigned long) 1 And the bug occurs with: m = (1UL << (SH/2)) * (1UL << (SH/2)); So, it seems that the problem is not the left shift, but the fact that tcc does not regard 1UL as an unsigned long (64 bits). -- Vincent Lefèvre <[email protected]> - Web: <http://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) _______________________________________________ Tinycc-devel mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/tinycc-devel
