This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 3.4/3.5 PATCH: Fix many Solaris 10 g++ testsuite failures
- From: Richard Henderson <rth at redhat dot com>
- To: Rainer Orth <ro at TechFak dot Uni-Bielefeld dot DE>
- Cc: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org, Bruce Korb <bkorb at gnu dot org>
- Date: Fri, 30 Apr 2004 16:13:02 -0700
- Subject: Re: 3.4/3.5 PATCH: Fix many Solaris 10 g++ testsuite failures
- References: <16530.43406.739093.260696@xayide.TechFak.Uni-Bielefeld.DE>
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~