[Botan-devel] Build error on MacOS X

Jack Lloyd lloyd at randombit.net
Mon May 23 14:10:28 EDT 2005


On Tue, May 24, 2005 at 01:34:59AM +0800, Matt Johnston wrote:
> On Mon, May 23, 2005 at 10:12:58AM -0600, Jack Lloyd wrote:
> > 
> > Interesting, I had heard Botan built clean on Tiger. Workaround is to pass
> > --dumb-gcc to configure.pl and rebuild. I'll see why this isn't working as soon
> > as I get access to a box running Tiger.
> 
> Seems that the 64bit constants need a ULL suffix, ie 
> 0x0101010000010101 becomes 0x0101010000010101ULL

Problem is that every Windows compiler I've used wants as a suffix ui64 or
nothing, and every compiler but some versions of GCC is OK without the
suffix. It can be worked around with macro hacks but it's really ugly, and as
far as I'm concerned I'm already working around enough GCC bugs (and this is a
bug by any interpretation - I managed to convince several GCC maintainers that
this violates C99 and sent patches but to no avail). I'm just stubborn I guess.

> 
> I came across this on x86-64 Linux (gcc 3.3.4), util.cpp and
> primes.cpp also need the same treatment.

This seems odd - were you compiling 64 or 32-bit code? In 64 bit mode there
*certainly* should not have been any diagnostic, because a long is 64 bits and
GCC only complains if an integer constant doesn't fit into a long (which a 64
bit constant doesn't on most 32-bit systems). With 32-bit code, there would be
the same problem as on other 32-bit machines, however.

-J



More information about the botan-devel mailing list