3.4/3.5 PATCH: Fix many Solaris 10 g++ testsuite failures
Richard Henderson
rth@redhat.com
Fri Apr 30 23:13:00 GMT 2004
On Fri, Apr 30, 2004 at 09:31:26PM +0200, Rainer Orth wrote:
> + In Solaris 10, int64_t from <sys/int_types.h>\
> + is only visible with g++ -ansi for ISO C99 \
> + compilations. Those only work together with \
> + XPG6. */ \
> if (c_dialect_cxx ()) \
> { \
> - builtin_define ("_XOPEN_SOURCE=500"); \
> + builtin_define ("__STDC_VERSION__=199901L");\
> + builtin_define ("_XOPEN_SOURCE=600"); \
Does this get us into any other trouble assuming C99 features in C++98?
Would we be better off not using int64_t from system headers, but instead
via __attribute__((mode("DI"))) or somesuch?
> + /* Solaris 2/x86, like SPARC, uses the default. */
> + if (TARGET_SOLARIS2)
> + return std_build_builtin_va_list ();
> +
> /* For i386 we use plain pointer to argument area. */
> if (!TARGET_64BIT)
Nest this inside TARGET_64BIT, lest you break Solaris/amd64
(reportedly under construction).
r~
More information about the Libstdc++
mailing list