This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
Re: --enable-long-long by default?
- To: libstdc++ at sourceware dot cygnus dot com
- Subject: Re: --enable-long-long by default?
- From: Loren James Rittle <rittle at latour dot rsch dot comm dot mot dot com>
- Date: Thu, 25 May 2000 15:45:36 -0500 (CDT)
- Reply-to: rittle at rsch dot comm dot mot dot com
Starting today, I get this fatal error message during bootstrap
on i686-unknown-freebsdelf3.4:
[...] instantiated from here
../../../../egcs/libstdc++-v3/bits/locale_facets.tcc:583: `strtoll'
undeclared (first use this function)
[...] instantiated from here
../../../../egcs/libstdc++-v3/bits/locale_facets.tcc:691: `strtoull'
undeclared (first use this function)
[...]
Currently working workaround: Add --enable-long-long=no configure option.
Real solution: enhance the configure test so that --disable-long-long
is the default when those functions aren't found on a system.
Another real solution: since my system does have:
typedef long long quad_t;
quad_t
strtoq(const char *nptr, char **endptr, int base)
typedef unsigned long long u_quad_t;
u_quad_t
strtouq(const char *nptr, char **endptr, int base)
add configure test to try to use those function instead of strtoll and
strtoull, if the latter aren't found.
Another real solution: add required functions to libiberty (and
somehow make them declared in the above scope since they aren't in all
system's headers).
Since I note that libiberty is already using strtol from BSD...
...we could take from that well again (although note renaming).
Regards,
Loren