# HG changeset patch # Parent 70d9a4a121c064783ddbabfaf18e606d404a2e3c Remove obsolete Solaris 8 support diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -2382,7 +2382,7 @@ fix = { files = math.h; select = "struct exception"; /* - * This should be bypassed on __cplusplus, but some supposedly C++ C++ + * This should be bypassed on __cplusplus, but some supposedly C++ * aware headers, such as Solaris 8 and 9, don't wrap their struct * exception either. So currently we bypass only for glibc, based on a * comment in the fixed glibc header. Ick. @@ -2926,26 +2926,6 @@ fix = { /* - * Solaris 8 PTHREAD_COND_INITIALIZER lacks the __pthread_cond_magic field. - * COND_MAGIC is only defined in and pollutes the namespace, so - * use the value literally instead. - */ -fix = { - hackname = solaris_cond_init; - select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - files = pthread.h; - mach = '*-*-solaris2.8'; - c_fix = format; - c_fix_arg = "%1, 0x4356%2"; - c_fix_arg = "^(#define[ \t]+PTHREAD_COND_INITIALIZER[ \t]+" - "\\{.*0)(\\},[ \t]*0\\}.*)$"; - test_text = - '#pragma ident "@(#)pthread.h 1.29 01/07/07 SMI"'"\n" - '#define PTHREAD_COND_INITIALIZER {{{0}, 0}, 0} /* = DEFAULTCV */'; -}; - - -/* * g++ rejects functions declared with both C and C++ linkage. */ fix = { @@ -3422,13 +3402,13 @@ fix = { /* - * On Solaris 8 and 9, __va_list needs to become a typedef for + * On Solaris 9, __va_list needs to become a typedef for * __builtin_va_list to make -Wmissing-format-attribute work. */ fix = { hackname = solaris_sys_va_list; files = sys/va_list.h; - mach = '*-*-solaris2.[89]'; + mach = '*-*-solaris2.9'; select = "#if.*__STDC__.*\n" "typedef void \\*__va_list;\n" "#else\n" diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h --- a/fixincludes/tests/base/pthread.h +++ b/fixincludes/tests/base/pthread.h @@ -75,16 +75,6 @@ extern int __sigsetjmp (struct __jmp_buf #endif /* PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_CHECK */ -#if defined( SOLARIS_COND_INIT_CHECK ) -#pragma ident "@(#)pthread.h 1.29 01/07/07 SMI" -#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) -#define PTHREAD_COND_INITIALIZER {{{0}, 0, 0x4356}, 0} /* = DEFAULTCV */ -#else -#define PTHREAD_COND_INITIALIZER {{{0}, 0, 0x4356}, {0}} /* = DEFAULTCV */ -#endif -#endif /* SOLARIS_COND_INIT_CHECK */ - - #if defined( SOLARIS_MUTEX_INIT_2_CHECK ) #ident "@(#)pthread.h 1.26 98/04/12 SMI" #if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4 --- a/gcc/acinclude.m4 +++ b/gcc/acinclude.m4 @@ -461,23 +461,7 @@ changequote([,])dnl # error The C library not known to support .init_array/.fini_array # endif #endif -])],[ - case "${target}" in - *-*-solaris2.8*) - # .init_array/.fini_array support was introduced in Solaris 8 - # patches 109147-08 (sparc) and 109148-08 (x86). Since ld.so.1 and - # ld are guaranteed to be updated in lockstep, we can check ld -V - # instead. Unfortunately, proper ld version numbers were only - # introduced in rev. -14, so we check for that. - if test "$gcc_cv_sun_ld_vers_minor" -lt 272; then - gcc_cv_initfini_array=no - fi - ;; - *-*-solaris2.9* | *-*-solaris2.1[[0-9]]*) - # .init_array/.fini_array support is present since Solaris 9 FCS. - ;; - esac -], [gcc_cv_initfini_array=no]);; +])],, [gcc_cv_initfini_array=no]);; esac else AC_MSG_CHECKING(cross compile... guessing) diff --git a/gcc/config.gcc b/gcc/config.gcc --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -251,7 +251,6 @@ case ${target} in | arm*-*-uclinux* \ | arm*-wince-pe* \ | score-* \ - | *-*-solaris2.8* \ ) if test "x$enable_obsolete" != xyes; then echo "*** Configuration ${target} is obsolete." >&2 @@ -282,9 +281,9 @@ case ${target} in | *-*-rtemsaout* \ | *-*-rtemscoff* \ | *-*-solaris2 \ - | *-*-solaris2.[0-7] \ - | *-*-solaris2.[0-7].* \ - | *-*-sysv* \ + | *-*-solaris2.[0-8] \ + | *-*-solaris2.[0-8].* \ + | *-*-sysv* \ | vax-*-vms* \ ) echo "*** Configuration ${target} not supported" 1>&2 @@ -1320,9 +1319,8 @@ i[34567]86-*-solaris2* | x86_64-*-solari # Set default arch_32 to pentium4, tune_32 to generic like the other # i386 targets, although config.guess defaults to i386-pc-solaris2*. case ${target} in - *-*-solaris2.[89]*) - # Solaris 8 and 9/x86 cannot execute SSE/SSE2 instructions by - # default. + *-*-solaris2.9*) + # Solaris 9/x86 cannot execute SSE/SSE2 instructions by default. with_arch_32=${with_arch_32:-pentiumpro} ;; *) diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -1,6 +1,6 @@ /* Target definitions for GCC for Intel 80386 running Solaris 2 Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. + 2004, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. Contributed by Fred Fish (fnf@cygnus.com). This file is part of GCC. @@ -21,7 +21,7 @@ along with GCC; see the file COPYING3. /* Augment i386/unix.h version to return 8-byte vectors in memory, matching Sun Studio compilers until version 12, the only ones supported on - Solaris 8 and 9. */ + Solaris 9. */ #undef TARGET_SUBTARGET_DEFAULT #define TARGET_SUBTARGET_DEFAULT \ (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS) @@ -63,7 +63,7 @@ along with GCC; see the file COPYING3. #define ASM_CPU_SPEC "" -/* Don't include ASM_PIC_SPEC. While the Solaris 8 and 9 assembler accepts +/* Don't include ASM_PIC_SPEC. While the Solaris 9 assembler accepts -K PIC, it gives many warnings: R_386_32 relocation is used for symbol "" GNU as doesn't recognize -K at all. */ diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h --- a/gcc/config/sol2.h +++ b/gcc/config/sol2.h @@ -1,6 +1,6 @@ /* Operating system specific defines to be used when targeting GCC for any Solaris 2 system. - Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011 + Copyright 2002, 2003, 2004, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of GCC. @@ -173,7 +173,6 @@ along with GCC; see the file COPYING3. %{static:-dn -Bstatic} \ %{shared:-G -dy %{!mimpure-text:-z text}} \ %{symbolic:-Bsymbolic -G -dy -z text} \ - %{pthreads|pthread|fprofile-generate*:" LIB_THREAD_LDFLAGS_SPEC "} \ %(link_arch) \ %{Qy:} %{!Qn:-Qy}" diff --git a/gcc/configure.ac b/gcc/configure.ac --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2345,15 +2345,6 @@ else hppa64*-*-hpux* | ia64*-*-hpux*) gcc_cv_ld_hidden=yes ;; - *-*-solaris2.8*) - # .hidden support was backported to Solaris 8, starting with ld - # version 1.276. - if test "$ld_vers_minor" -ge 276; then - gcc_cv_ld_hidden=yes - else - gcc_cv_ld_hidden=no - fi - ;; *-*-solaris2.9* | *-*-solaris2.1[0-9]*) # Support for .hidden in Sun ld appeared in Solaris 9 FCS, but # .symbolic was only added in Solaris 9 12/02. @@ -3170,10 +3161,9 @@ else [set_have_as_tls=yes]) fi case "$target" in - # TLS was introduced in the Solaris 9 FCS release and backported to - # Solaris 8 patches. Support for GNU-style TLS on x86 was only - # introduced in Solaris 9 4/04, replacing the earlier Sun style that Sun - # ld and GCC don't support any longer. + # TLS was introduced in the Solaris 9 FCS release. Support for GNU-style + # TLS on x86 was only introduced in Solaris 9 4/04, replacing the earlier + # Sun style that Sun ld and GCC don't support any longer. *-*-solaris2.*) AC_MSG_CHECKING(linker and ld.so.1 TLS support) ld_tls_support=no @@ -3184,14 +3174,6 @@ case "$target" in ld_tls_support=yes else case "$target" in - # Solaris 8/x86 ld has GNU style TLS support since version 1.280. - i?86-*-solaris2.8) - min_tls_ld_vers_minor=280 - ;; - # Solaris 8/SPARC ld has TLS support since version 1.272. - sparc*-*-solaris2.8) - min_tls_ld_vers_minor=272 - ;; # Solaris 9/x86 ld has GNU style TLS support since version 1.374. i?86-*-solaris2.9) min_tls_ld_vers_minor=374 @@ -3215,28 +3197,6 @@ case "$target" in LIBS= LDFLAGS= - AC_MSG_CHECKING(alternate thread library) - case "$target" in - # TLS support was backported to Solaris 8 patches, but only lives in - # the alternate thread library which became the default in Solaris 9. - # We want to always use that, irrespective of TLS support. - *-*-solaris2.8) - # Take multilib subdir into account. There's no spec to handle - # this. The 64 symlink exists since Solaris 8. - lwp_dir=/usr/lib/lwp - lwp_spec="-L$lwp_dir%{m64:/64} -R$lwp_dir%{m64:/64}" - LDFLAGS="-L$lwp_dir -R$lwp_dir" - ;; - *-*-solaris2*) - lwp_dir="none" - lwp_spec="" - ;; - esac - # Always define LIB_THREAD_LDFLAGS_SPEC, even without TLS support. - AC_DEFINE_UNQUOTED(LIB_THREAD_LDFLAGS_SPEC, "$lwp_spec", - [Define to the linker flags to use for -pthread.]) - AC_MSG_RESULT($lwp_dir) - AC_MSG_CHECKING(library containing $tga_func) # Before Solaris 10, __tls_get_addr (SPARC/x64) resp. ___tls_get_addr # (32-bit x86) only lived in libthread, so check for that. Keep @@ -3246,13 +3206,6 @@ case "$target" in if test $set_have_as_tls = no; then LIBS= fi - # Even without TLS support on Solaris 8, explicitly link with libthread - # to guarantee that the alternate thread library is used. - case "$target" in - *-*-solaris2.8) - LIBS=-lthread - ;; - esac # Always define LIB_TLS_SPEC, even without TLS support. AC_DEFINE_UNQUOTED(LIB_TLS_SPEC, "$LIBS", [Define to the library containing __tls_get_addr/___tls_get_addr.]) diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -3014,7 +3014,7 @@ information are. @item @uref{#ix86-x-linux,,i?86-*-linux*} @item -@uref{#ix86-x-solaris289,,i?86-*-solaris2.[89]} +@uref{#ix86-x-solaris289,,i?86-*-solaris2.9} @item @uref{#ix86-x-solaris210,,i?86-*-solaris2.10} @item @@ -3551,8 +3551,8 @@ found on @uref{http://www.bitwizard.nl/s @html
@end html -@heading @anchor{ix86-x-solaris289}i?86-*-solaris2.[89] -The Sun assembler in Solaris 8 and 9 has several bugs and limitations. +@heading @anchor{ix86-x-solaris29}i?86-*-solaris2.9 +The Sun assembler in Solaris 9 has several bugs and limitations. While GCC works around them, several features are missing, so it is @c FIXME: which ones? recommended to use the GNU assembler instead. There is no bundled @@ -3562,9 +3562,9 @@ work. Solaris@tie{}2/x86 doesn't support the execution of SSE/SSE2 instructions before Solaris@tie{}9 4/04, even if the CPU supports them. Programs will receive @code{SIGILL} if they try. The fix is available both in -Solaris@tie{}9 Update@tie{}6 and kernel patch 112234-12 or newer. There is no -corresponding patch for Solaris 8. To avoid this problem, -@option{-march} defaults to @samp{pentiumpro} on Solaris 8 and 9. If +Solaris@tie{}9 Update@tie{}6 and kernel patch 112234-12 or newer. To +avoid this problem, +@option{-march} defaults to @samp{pentiumpro} on Solaris 9. If you have the patch installed, you can configure GCC with an appropriate @option{--with-arch} option, but need GNU @command{as} for SSE2 support. @@ -4066,9 +4066,8 @@ supported as cross-compilation target on @c alone is too unspecific and must be avoided. @heading @anchor{x-x-solaris2}*-*-solaris2* -Support for Solaris 8 has been obsoleted in GCC 4.7, but can still be -enabled by configuring with @option{--enable-obsolete}. Support will be -removed in GCC 4.8. Support for Solaris 7 has been removed in GCC 4.6. +Support for Solaris 8 has removed in GCC 4.8. Support for Solaris 7 has +been removed in GCC 4.6. Sun does not ship a C compiler with Solaris 2 before Solaris 10, though you can download the Sun Studio compilers for free. In Solaris 10 and @@ -4141,13 +4140,6 @@ newer: @command{g++} will complain that assume that omitting the type means @code{int}; this assumption worked for C90 but is wrong for C++, and is now wrong for C99 also. -@command{g++} accepts such (invalid) constructs with the option -@option{-fpermissive}; it will assume that any missing type is @code{int} -(as defined by C90). - -There are patches for Solaris 8 (108652-24 or newer for SPARC, -108653-22 for Intel) that fix this bug. - Sun bug 4927647 sometimes causes random spurious testsuite failures related to missing diagnostic output. This bug doesn't affect GCC itself, rather it is a kernel bug triggered by the @command{expect} @@ -4155,27 +4147,19 @@ program which is used only by the GCC te causes the @command{expect} program to miss anticipated output, extra testsuite failures appear. -There are patches for Solaris 8 (117350-12 or newer for SPARC, -117351-12 or newer for Intel) and Solaris 9 (117171-11 or newer for +There are patches for Solaris 9 (117171-11 or newer for SPARC, 117172-11 or newer for Intel) that address this problem. -Solaris@tie{}8 provides an alternate implementation of the thread -library @samp{libthread}. It is required for TLS support and has -been made the default in Solaris@tie{}9, so it is always used on -Solaris@tie{}8. - -Thread-local storage (TLS) is supported in Solaris@tie{}8 and 9, but requires +Thread-local storage (TLS) is supported in Solaris@tie{}9, but requires some patches. The @samp{libthread} patches provide the @code{__tls_get_addr} (SPARC, 64-bit x86) resp.@ @code{___tls_get_addr} -(32-bit x86) functions. On Solaris@tie{}8, you need 108993-26 or newer on -SPARC, 108994-26 or newer on Intel. On Solaris@tie{}9, the necessary support +(32-bit x86) functions. On Solaris@tie{}9, the necessary support on SPARC is present since FCS, while 114432-05 or newer is required on -Intel. Additionally, on Solaris@tie{}8, patch 109147-14 or newer on SPARC or -109148-22 or newer on Intel are required for the Sun @command{ld} and -runtime linker (@command{ld.so.1}) support. Again, Solaris@tie{}9/SPARC -works since FCS, while 113986-02 is required on Intel. The linker +Intel. Additionally, on Solaris@tie{}9/x86, patch 113986-02 or newer is +required for the Sun @command{ld} and runtime linker (@command{ld.so.1}) +support, while Solaris@tie{}9/SPARC works since FCS. The linker patches must be installed even if GNU @command{ld} is used. Sun -@command{as} in Solaris@tie{}8 and 9 doesn't support the necessary +@command{as} in Solaris@tie{}9 doesn't support the necessary relocations, so GNU @command{as} must be used. The @command{configure} script checks for those prerequisites and automatically enables TLS support if they are met. Although those minimal patch versions should diff --git a/gcc/testsuite/g++.dg/warn/miss-format-1.C b/gcc/testsuite/g++.dg/warn/miss-format-1.C --- a/gcc/testsuite/g++.dg/warn/miss-format-1.C +++ b/gcc/testsuite/g++.dg/warn/miss-format-1.C @@ -4,7 +4,7 @@ /* { dg-options "-Wmissing-format-attribute" } */ /* { dg-options "-Wmissing-format-attribute -Wno-abi" { target arm_eabi } } */ /* VxWorks does not provide vscanf, either in kernel or RTP mode. */ -/* { dg-error "not declared" "" { target { *-*-solaris2.8 *-*-vxworks* } } 26 } */ +/* { dg-error "not declared" "" { target *-*-vxworks* } 26 } */ #include #include @@ -23,7 +23,7 @@ bar (const char *fmt, ...) { va_list ap; va_start (ap, fmt); - vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-solaris2.8 *-*-vxworks* } } */ + vscanf (fmt, ap); /* { dg-warning "candidate" "scanf attribute warning" { xfail *-*-vxworks* } } */ va_end (ap); } diff --git a/gcc/testsuite/gcc.dg/c99-stdint-6.c b/gcc/testsuite/gcc.dg/c99-stdint-6.c --- a/gcc/testsuite/gcc.dg/c99-stdint-6.c +++ b/gcc/testsuite/gcc.dg/c99-stdint-6.c @@ -2,7 +2,7 @@ with any system header. */ /* { dg-do compile { target inttypes_types } } */ /* { dg-options "-std=iso9899:1999 -pedantic-errors" } */ -/* { dg-options "-std=gnu99 -pedantic-errors -DNO_FAST_TYPES" { target *-*-solaris2.[89]* } } */ +/* { dg-options "-std=gnu99 -pedantic-errors -DNO_FAST_TYPES" { target *-*-solaris2.9* } } */ #include #ifndef SIGNAL_SUPPRESS diff --git a/gcc/testsuite/gcc.dg/lto/20090210_0.c b/gcc/testsuite/gcc.dg/lto/20090210_0.c --- a/gcc/testsuite/gcc.dg/lto/20090210_0.c +++ b/gcc/testsuite/gcc.dg/lto/20090210_0.c @@ -2,7 +2,7 @@ /* { dg-require-effective-target fpic } */ /* { dg-suppress-ld-options {-fPIC} } */ /* { dg-require-effective-target tls_runtime } */ -/* { dg-extra-ld-options "-pthread" { target *-*-solaris2.[89] } } */ +/* { dg-extra-ld-options "-pthread" { target *-*-solaris2.9 } } */ int foo (int x) { return x; diff --git a/gcc/testsuite/gcc.dg/pr28796-2.c b/gcc/testsuite/gcc.dg/pr28796-2.c --- a/gcc/testsuite/gcc.dg/pr28796-2.c +++ b/gcc/testsuite/gcc.dg/pr28796-2.c @@ -2,7 +2,6 @@ /* { dg-options "-O2 -funsafe-math-optimizations -fno-finite-math-only -DUNSAFE" } */ /* { dg-add-options ieee } */ /* { dg-skip-if "No Inf/NaN support" { spu-*-* } } */ -/* { dg-skip-if "Bug in _Q_dtoq" { sparc*-sun-solaris2.8 } } */ #include "tg-tests.h" diff --git a/gcc/testsuite/gcc.dg/pragma-init-fini-2.c b/gcc/testsuite/gcc.dg/pragma-init-fini-2.c --- a/gcc/testsuite/gcc.dg/pragma-init-fini-2.c +++ b/gcc/testsuite/gcc.dg/pragma-init-fini-2.c @@ -2,7 +2,6 @@ /* { dg-do link { target *-*-solaris2.* } } */ /* { dg-options "-fpic" } */ -/* { dg-xfail-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */ #include diff --git a/gcc/testsuite/gcc.dg/pragma-init-fini.c b/gcc/testsuite/gcc.dg/pragma-init-fini.c --- a/gcc/testsuite/gcc.dg/pragma-init-fini.c +++ b/gcc/testsuite/gcc.dg/pragma-init-fini.c @@ -1,7 +1,6 @@ /* Tests for #pragma init and #pragma fini. */ /* { dg-do run { target *-*-solaris2.* } } */ -/* { dg-skip-if "no .pushsection/.popsection" { i?86-*-solaris2.8 && { ! gas } } } */ extern void abort (); diff --git a/gcc/testsuite/gcc.dg/torture/pr47917.c b/gcc/testsuite/gcc.dg/torture/pr47917.c --- a/gcc/testsuite/gcc.dg/torture/pr47917.c +++ b/gcc/testsuite/gcc.dg/torture/pr47917.c @@ -1,6 +1,6 @@ /* { dg-do run } */ /* { dg-options "-std=c99" } */ -/* { dg-options "-std=c99 -D_XOPEN_SOURCE=500" { target *-*-solaris2.[89] } } */ +/* { dg-options "-std=c99 -D_XOPEN_SOURCE=500" { target *-*-solaris2.9 } } */ /* { dg-options "-std=gnu99" { target *-*-hpux* } } */ /* { dg-additional-options "-D__USE_MINGW_ANSI_STDIO=1" { target *-*-mingw* } } */ /* { dg-xfail-if "no C99 snprintf function" { *-*-hpux10* } } */ diff --git a/gcc/testsuite/gcc.target/i386/pr22076.c b/gcc/testsuite/gcc.target/i386/pr22076.c --- a/gcc/testsuite/gcc.target/i386/pr22076.c +++ b/gcc/testsuite/gcc.target/i386/pr22076.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx" } */ -/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target i?86-*-solaris2.[89] *-*-vxworks* } } */ +/* { dg-options "-O2 -fomit-frame-pointer -flax-vector-conversions -mmmx -mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/pr22152.c b/gcc/testsuite/gcc.target/i386/pr22152.c --- a/gcc/testsuite/gcc.target/i386/pr22152.c +++ b/gcc/testsuite/gcc.target/i386/pr22152.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msse2" } */ -/* { dg-options "-O2 -msse2 -mno-vect8-ret-in-mem" { target i?86-*-solaris2.[89] *-*-vxworks* } } */ +/* { dg-options "-O2 -msse2 -mno-vect8-ret-in-mem" { target i?86-*-solaris2.9 *-*-vxworks* } } */ /* { dg-additional-options "-mabi=sysv" { target x86_64-*-mingw* } } */ #include diff --git a/gcc/testsuite/gcc.target/i386/vect8-ret.c b/gcc/testsuite/gcc.target/i386/vect8-ret.c --- a/gcc/testsuite/gcc.target/i386/vect8-ret.c +++ b/gcc/testsuite/gcc.target/i386/vect8-ret.c @@ -1,5 +1,5 @@ /* { dg-do compile { target ia32 } } */ -/* { dg-options "-mmmx" { target i?86-*-solaris2.[89] *-*-vxworks* } } */ +/* { dg-options "-mmmx" { target i?86-*-solaris2.9 *-*-vxworks* } } */ /* { dg-options "-mmmx -mvect8-ret-in-mem" } */ #include diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -569,11 +569,11 @@ proc check_effective_target_pcc_bitfield # Add to FLAGS all the target-specific flags needed to use thread-local storage. proc add_options_for_tls { flags } { - # On Solaris 8 and 9, __tls_get_addr/___tls_get_addr only lives in + # On Solaris 9, __tls_get_addr/___tls_get_addr only lives in # libthread, so always pass -pthread for native TLS. # Need to duplicate native TLS check from # check_effective_target_tls_native to avoid recursion. - if { [istarget *-*-solaris2.\[89\]*] && + if { [istarget *-*-solaris2.9*] && [check_no_messages_and_pattern tls_native "!emutls" assembly { __thread int i; int f (void) { return i; } diff --git a/libcpp/lex.c b/libcpp/lex.c --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -1,6 +1,6 @@ /* CPP Library - lexical analysis. Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, - 2011 Free Software Foundation, Inc. + 2011, 2012 Free Software Foundation, Inc. Contributed by Per Bothner, 1994-95. Based on CCCP program by Paul Rubin, June 1986 Adapted to ANSI C, Richard Stallman, Jan 1987 @@ -267,7 +267,6 @@ search_line_acc_char (const uchar *s, co /* Disable on Solaris 2/x86 until the following problems can be properly autoconfed: - The Solaris 8 assembler cannot assemble SSE2/SSE4.2 insns. The Solaris 9 assembler cannot assemble SSE4.2 insns. Before Solaris 9 Update 6, SSE insns cannot be executed. The Solaris 10+ assembler tags objects with the instruction set diff --git a/libgcc/config/i386/sol2-unwind.h b/libgcc/config/i386/sol2-unwind.h --- a/libgcc/config/i386/sol2-unwind.h +++ b/libgcc/config/i386/sol2-unwind.h @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for AMD x86-64 and x86. - Copyright (C) 2009, 2010 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2012 Free Software Foundation, Inc. This file is part of GCC. @@ -144,55 +144,23 @@ x86_fallback_frame_state (struct _Unwind mcontext_t *mctx; long new_cfa; - if (/* Solaris 8 - single-threaded + if (/* Solaris 9 - single-threaded ---------------------------- - : mov 0x10(%ebp),%esi - : push %esi - : pushl 0xc(%ebp) - : mov 0x8(%ebp),%ecx - : push %ecx - : mov offset(%ebx),%eax - : call *(%eax,%ecx,4) - : add $0xc,%esp <--- PC - : push %esi ... */ - (*(unsigned long *)(pc - 20) == 0x5610758b - && *(unsigned long *)(pc - 16) == 0x8b0c75ff - && *(unsigned long *)(pc - 12) == 0x8b51084d - && *(unsigned char *)(pc - 8) == 0x83 - && *(unsigned long *)(pc - 4) == 0x8814ff00 - && *(unsigned long *)(pc - 0) == 0x560cc483) - - || /* Solaris 8 - multi-threaded - --------------------------- - <__sighndlr+0>: push %ebp - <__sighndlr+1>: mov %esp,%ebp - <__sighndlr+3>: pushl 0x10(%ebp) - <__sighndlr+6>: pushl 0xc(%ebp) - <__sighndlr+9>: pushl 0x8(%ebp) - <__sighndlr+12>: call *0x14(%ebp) - <__sighndlr+15>: leave <--- PC */ - (*(unsigned long *)(pc - 15) == 0xffec8b55 - && *(unsigned long *)(pc - 11) == 0x75ff1075 - && *(unsigned long *)(pc - 7) == 0x0875ff0c - && *(unsigned long *)(pc - 3) == 0xc91455ff) - - || /* Solaris 9 - single-threaded - ---------------------------- - : mov 0x244(%ebx),%ecx - : mov 0x8(%ebp),%eax - : mov (%ecx,%eax,4),%ecx - : pushl 0x10(%ebp) - : pushl 0xc(%ebp) - : push %eax - : call *%ecx - : add $0xc,%esp <--- PC - : pushl 0x10(%ebp) */ - (*(unsigned long *)(pc - 21) == 0x2448b8b - && *(unsigned long *)(pc - 17) == 0x458b0000 - && *(unsigned long *)(pc - 13) == 0x810c8b08 - && *(unsigned long *)(pc - 9) == 0xff1075ff - && *(unsigned long *)(pc - 5) == 0xff500c75 - && *(unsigned long *)(pc - 1) == 0xcc483d1) + : mov 0x244(%ebx),%ecx + : mov 0x8(%ebp),%eax + : mov (%ecx,%eax,4),%ecx + : pushl 0x10(%ebp) + : pushl 0xc(%ebp) + : push %eax + : call *%ecx + : add $0xc,%esp <--- PC + : pushl 0x10(%ebp) */ + (*(unsigned long *)(pc - 21) == 0x2448b8b + && *(unsigned long *)(pc - 17) == 0x458b0000 + && *(unsigned long *)(pc - 13) == 0x810c8b08 + && *(unsigned long *)(pc - 9) == 0xff1075ff + && *(unsigned long *)(pc - 5) == 0xff500c75 + && *(unsigned long *)(pc - 1) == 0xcc483d1) || /* Solaris 9 - multi-threaded, Solaris 10 --------------------------------------- diff --git a/libgcc/config/sparc/sol2-unwind.h b/libgcc/config/sparc/sol2-unwind.h --- a/libgcc/config/sparc/sol2-unwind.h +++ b/libgcc/config/sparc/sol2-unwind.h @@ -36,44 +36,25 @@ see the files COPYING3 and COPYING.RUNTI static int sparc64_is_sighandler (unsigned int *pc, void *cfa, int *nframes) { - if (/* Solaris 8 - single-threaded + if (/* Solaris 9 - single-threaded ---------------------------- - : add %g5, %o7, %o2 - : ldx [ %o2 + 0xfa0 ], %g5 - : sra %i0, 0, %o0 - : sllx %o0, 3, %g4 + The pattern changes slightly in different versions of the + operating system, so we skip the comparison against pc[-6] for + Solaris 9. + + : sra %i0, 0, %l1 + + Solaris 9 5/02: + : ldx [ %o2 + 0xf68 ], %g5 + Solaris 9 9/05: + : ldx [ %o2 + 0xe50 ], %g5 + + : sllx %l1, 3, %g4 + : mov %l1, %o0 : ldx [ %g4 + %g5 ], %l0 : call %l0 : mov %i2, %o2 - : cmp %i3, 8 <--- PC */ - ( pc[-7] == 0x9401400f - && pc[-6] == 0xca5aafa0 - && pc[-5] == 0x913e2000 - && pc[-4] == 0x892a3003 - && pc[-3] == 0xe0590005 - && pc[-2] == 0x9fc40000 - && pc[-1] == 0x9410001a - && pc[ 0] == 0x80a6e008) - - || /* Solaris 9 - single-threaded - ---------------------------- - The pattern changes slightly in different versions of the - operating system, so we skip the comparison against pc[-6] for - Solaris 9. - - : sra %i0, 0, %l1 - - Solaris 9 5/02: - : ldx [ %o2 + 0xf68 ], %g5 - Solaris 9 9/05: - : ldx [ %o2 + 0xe50 ], %g5 - - : sllx %l1, 3, %g4 - : mov %l1, %o0 - : ldx [ %g4 + %g5 ], %l0 - : call %l0 - : mov %i2, %o2 - : cmp %l1, 8 <--- PC */ + : cmp %l1, 8 <--- PC */ ( pc[-7] == 0xa33e2000 /* skip pc[-6] */ && pc[-5] == 0x892c7003 @@ -147,8 +128,7 @@ sparc64_is_sighandler (unsigned int *pc, } else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x94100013) - /* This matches the call_user_handler pattern for Solaris 9 and - for Solaris 8 running inside Solaris Containers respectively + /* This matches the call_user_handler pattern for Solaris 9. We need to move up three frames: <-- context->cfa @@ -159,17 +139,6 @@ sparc64_is_sighandler (unsigned int *pc, */ *nframes = 3; - else /* cuh_pattern == 0xe0272010 */ - /* This is the default Solaris 8 case. - We need to move up two frames: - - <-- context->cfa - __sighndlr - sigacthandler - - */ - *nframes = 2; - return 1; } @@ -211,8 +180,8 @@ sparc64_frob_update_context (struct _Unw static int sparc_is_sighandler (unsigned int *pc, void *cfa, int *nframes) { - if (/* Solaris 8, 9 - single-threaded - ------------------------------- + if (/* Solaris 9 - single-threaded + ---------------------------- The pattern changes slightly in different versions of the operating system, so we skip the comparison against pc[-6]. @@ -247,37 +216,6 @@ sparc_is_sighandler (unsigned int *pc, v return 1; } - if (/* Solaris 8 - multi-threaded - --------------------------- - <__libthread_segvhdlr+212>: clr %o2 - <__libthread_segvhdlr+216>: ld [ %fp + -28 ], %l0 - <__libthread_segvhdlr+220>: mov %i4, %o0 - <__libthread_segvhdlr+224>: mov %i1, %o1 - <__libthread_segvhdlr+228>: call %l0 - <__libthread_segvhdlr+232>: mov %i2, %o2 - <__libthread_segvhdlr+236>: ret <--- PC - <__libthread_segvhdlr+240>: restore - <__libthread_segvhdlr+244>: cmp %o1, 0 */ - pc[-6] == 0x94102000 - && pc[-5] == 0xe007bfe4 - && pc[-4] == 0x9010001c - && pc[-3] == 0x92100019 - && pc[-2] == 0x9fc40000 - && pc[-1] == 0x9410001a - && pc[ 0] == 0x81c7e008 - && pc[ 1] == 0x81e80000 - && pc[ 2] == 0x80a26000) - { - /* We need to move up one frame: - - <-- context->cfa - __libthread_segvhdlr - - */ - *nframes = 1; - return 1; - } - if(/* Solaris 8+ - multi-threaded ---------------------------- <__sighndlr>: save %sp, -96, %sp @@ -332,8 +270,7 @@ sparc_is_sighandler (unsigned int *pc, v } else if (cuh_pattern == 0x9410001a || cuh_pattern == 0x9410001b) - /* This matches the call_user_handler pattern for Solaris 9 and - for Solaris 8 running inside Solaris Containers respectively. + /* This matches the call_user_handler pattern for Solaris 9. We need to move up three frames: <-- context->cfa @@ -344,17 +281,6 @@ sparc_is_sighandler (unsigned int *pc, v */ *nframes = 3; - else /* cuh_pattern == 0x90100018 */ - /* This is the default Solaris 8 case. - We need to move up two frames: - - <-- context->cfa - __sighndlr - sigacthandler - - */ - *nframes = 2; - return 1; } diff --git a/libgo/configure.ac b/libgo/configure.ac --- a/libgo/configure.ac +++ b/libgo/configure.ac @@ -282,8 +282,8 @@ AC_SUBST(GO_SYSCALL_OS_ARCH_FILE) dnl Special flags used to generate sysinfo.go. OSCFLAGS="-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" case "$target" in - *-*-solaris2.[[89]]) - # Solaris 8/9 need this so struct msghdr gets the msg_control + *-*-solaris2.9) + # Solaris 9 needs this so struct msghdr gets the msg_control # etc. fields in (_XPG4_2). OSCFLAGS="$OSCFLAGS -D_XOPEN_SOURCE=500 -D_XOPEN_SOURCE_EXTENDED -D__EXTENSIONS__" ;; @@ -623,7 +623,7 @@ fi dnl Check if makecontext expects the uc_stack member of ucontext to point dnl to the top of the stack. case "$target" in - sparc*-*-solaris2.[[89]]*) + sparc*-*-solaris2.9*) libgo_cv_lib_makecontext_stack_top=yes ;; *) diff --git a/libjava/configure.ac b/libjava/configure.ac --- a/libjava/configure.ac +++ b/libjava/configure.ac @@ -1086,16 +1086,8 @@ case "$THREADS" in THREADLIBS='-lpthread -lrt' THREADSPEC='-lpthread -lrt' ;; - *-*-solaris2.8) - # Always use alternate thread library on Solaris 8. Need libthread - # for TLS support. - # Need -Wl,-R to get it through libtool ... - THREADLIBS='-L/usr/lib/lwp$(MULTISUBDIR) -Wl,-R -Wl,/usr/lib/lwp$(MULTISUBDIR) -lpthread -lthread' - # ... while ld only accepts -R. - THREADSPEC='-L/usr/lib/lwp%{m64:/64} -R/usr/lib/lwp%{m64:/64} -lpthread -lthread' - ;; *-*-solaris2.9) - # As on Solaris 8, need libthread for TLS support. + # Need libthread for TLS support. THREADLIBS='-lpthread -lthread' THREADSPEC='-lpthread -lthread' ;; diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -1715,100 +1715,6 @@ AC_DEFUN([GLIBCXX_COMPUTE_STDIO_INTEGER_ ]) dnl -dnl Check whether required C++ overloads are present in . -dnl - -AC_DEFUN([GLIBCXX_CHECK_MATH_PROTO], [ - - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - case "$host" in - *-*-solaris2.*) - # Solaris 8 FCS only had an overload for double std::abs(double) in - # . Patches 111721-04 (SPARC) and 112757-01 (x86) - # introduced the full set also found from Solaris 9 onwards. - AC_MSG_CHECKING([for float std::abs(float) overload]) - AC_CACHE_VAL(glibcxx_cv_abs_float, [ - AC_COMPILE_IFELSE([AC_LANG_SOURCE( - [#include - namespace std { - inline float abs(float __x) - { return __builtin_fabsf(__x); } - } - ])], - [glibcxx_cv_abs_float=no], - [glibcxx_cv_abs_float=yes] - )]) - - # autoheader cannot handle indented templates. - AH_VERBATIM([__CORRECT_ISO_CPP_MATH_H_PROTO1], - [/* Define if all C++ overloads are available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_MATH_H_PROTO1 -#endif]) - AH_VERBATIM([__CORRECT_ISO_CPP_MATH_H_PROTO2], - [/* Define if only double std::abs(double) is available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_MATH_H_PROTO2 -#endif]) - - if test $glibcxx_cv_abs_float = yes; then - AC_DEFINE(__CORRECT_ISO_CPP_MATH_H_PROTO1) - else - AC_DEFINE(__CORRECT_ISO_CPP_MATH_H_PROTO2) - fi - AC_MSG_RESULT($glibcxx_cv_abs_float) - ;; - esac - - AC_LANG_RESTORE -]) - -dnl -dnl Check whether required C++ overloads are present in . -dnl - -AC_DEFUN([GLIBCXX_CHECK_STDLIB_PROTO], [ - - AC_LANG_SAVE - AC_LANG_CPLUSPLUS - - case "$host" in - *-*-solaris2.*) - # Solaris 8 FCS lacked the overloads for long std::abs(long) and - # ldiv_t std::div(long, long) in . Patches 109607-02 - # (SPARC) and 109608-02 (x86) introduced them. - AC_MSG_CHECKING([for long std::abs(long) overload]) - AC_CACHE_VAL(glibcxx_cv_abs_long, [ - AC_COMPILE_IFELSE([AC_LANG_SOURCE( - [#include - namespace std { - inline long - abs(long __i) { return labs(__i); } - } - ])], - [glibcxx_cv_abs_long=no], - [glibcxx_cv_abs_long=yes] - )]) - - # autoheader cannot handle indented templates. - AH_VERBATIM([__CORRECT_ISO_CPP_STDLIB_H_PROTO], - [/* Define if all C++ overloads are available in . */ -#if __cplusplus >= 199711L -#undef __CORRECT_ISO_CPP_STDLIB_H_PROTO -#endif]) - if test $glibcxx_cv_abs_long = yes; then - AC_DEFINE(__CORRECT_ISO_CPP_STDLIB_H_PROTO, 1) - fi - AC_MSG_RESULT($glibcxx_cv_abs_long) - ;; - esac - - AC_LANG_RESTORE -]) - -dnl dnl Check whether required C++ overloads are present in . dnl AC_DEFUN([GLIBCXX_CHECK_STDIO_PROTO], [ @@ -3401,9 +3307,9 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [ #error #endif ], [case $target_os in - # gthreads support breaks symbol versioning on Solaris 8/9 (PR + # gthreads support breaks symbol versioning on Solaris 9 (PR # libstdc++/52189). - solaris2.[[89]]*) + solaris2.9*) if test x$enable_symvers = xno; then ac_has_gthreads=yes elif test x$enable_libstdcxx_threads = xyes; then diff --git a/libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt rename from libstdc++-v3/config/abi/post/solaris2.8/baseline_symbols.txt rename to libstdc++-v3/config/abi/post/solaris2.9/baseline_symbols.txt diff --git a/libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt b/libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt rename from libstdc++-v3/config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt rename to libstdc++-v3/config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_base.h b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_base.h rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_base.h diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_configure_char.cc b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_configure_char.cc rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_configure_char.cc rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_configure_char.cc diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h rename from libstdc++-v3/config/os/solaris/solaris2.8/ctype_inline.h rename to libstdc++-v3/config/os/solaris/solaris2.9/ctype_inline.h diff --git a/libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h rename from libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h rename to libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h --- a/libstdc++-v3/config/os/solaris/solaris2.8/os_defines.h +++ b/libstdc++-v3/config/os/solaris/solaris2.9/os_defines.h @@ -1,6 +1,7 @@ -// Specific definitions for Solaris 8+ -*- C++ -*- +// Specific definitions for Solaris 9+ -*- C++ -*- -// Copyright (C) 2000, 2002, 2005, 2009, 2011 Free Software Foundation, Inc. +// Copyright (C) 2000, 2002, 2005, 2009, 2011, 2012 +// Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -29,11 +30,8 @@ // file will come before all others. #if __cplusplus >= 199711L -// Overloads in and changed with -// Solaris 8 patches. Since includes -// before configure results, -// __CORRECT_ISO_CPP_MATH_H_PROTO[12] and __CORRECT_ISO_CPP_STDLIB_H_PROTO -// must be defined via acinclude.m4. +#define __CORRECT_ISO_CPP_MATH_H_PROTO +#define __CORRECT_ISO_CPP_STDLIB_H_PROTO #define __CORRECT_ISO_CPP_STRING_H_PROTO #define __CORRECT_ISO_CPP_WCHAR_H_PROTO #endif diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -134,8 +134,6 @@ GLIBCXX_ENABLE_PYTHON GLIBCXX_ENABLE_WERROR([yes]) # Checks for operating systems support that doesn't require linking. -GLIBCXX_CHECK_MATH_PROTO -GLIBCXX_CHECK_STDLIB_PROTO GLIBCXX_CHECK_STDIO_PROTO GLIBCXX_CHECK_SYSTEM_ERROR diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -280,8 +280,8 @@ case "${host_os}" in echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2 exit 1 ;; - solaris2.[89] | solaris2.1[0-9]) - os_include_dir="os/solaris/solaris2.8" + solaris2.9 | solaris2.1[0-9]) + os_include_dir="os/solaris/solaris2.9" ;; tpf) os_include_dir="os/tpf" @@ -332,8 +332,8 @@ case "${host}" in powerpc*-*-darwin*) port_specific_symbol_files="\$(srcdir)/../config/os/bsd/darwin/ppc-extra.ver" ;; - *-*-solaris2.[89]) - abi_baseline_pair=solaris2.8 + *-*-solaris2.9) + abi_baseline_pair=solaris2.9 abi_baseline_subdir_switch=--print-multi-os-directory ;; *-*-solaris2.1[0-9]) diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4 --- a/libstdc++-v3/crossconfig.m4 +++ b/libstdc++-v3/crossconfig.m4 @@ -198,7 +198,7 @@ case "${host}" in ;; *-solaris*) case "$target" in - *-solaris2.8 | *-solaris2.9 | *-solaris2.10) + *-solaris2.9 | *-solaris2.10) GLIBCXX_CHECK_LINKER_FEATURES AC_DEFINE(HAVE_MBSTATE_T) AC_DEFINE(HAVE_FINITE) diff --git a/libstdc++-v3/doc/xml/manual/configure.xml b/libstdc++-v3/doc/xml/manual/configure.xml --- a/libstdc++-v3/doc/xml/manual/configure.xml +++ b/libstdc++-v3/doc/xml/manual/configure.xml @@ -164,7 +164,7 @@ --enable-libstdcxx-threads Enable C++11 threads support. If not explicitly specified, the configure process enables it if possible. It defaults to 'off' - on Solaris 8 and 9, where it would break symbol versioning. This + on Solaris 9, where it would break symbol versioning. This option can change the library ABI. diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -1,7 +1,7 @@ // -*- C++ -*- C forwarding header. // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008, 2009, 2010, 2011 +// 2006, 2007, 2008, 2009, 2010, 2011, 2012 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -78,14 +78,13 @@ namespace std _GLIBCXX_VISIBILITY(defaul { _GLIBCXX_BEGIN_NAMESPACE_VERSION -#if !defined(__CORRECT_ISO_CPP_MATH_H_PROTO1) \ - && !defined(__CORRECT_ISO_CPP_MATH_H_PROTO2) +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR double abs(double __x) { return __builtin_fabs(__x); } #endif -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float abs(float __x) { return __builtin_fabsf(__x); } @@ -104,7 +103,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::acos; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float acos(float __x) { return __builtin_acosf(__x); } @@ -123,7 +122,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::asin; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float asin(float __x) { return __builtin_asinf(__x); } @@ -142,7 +141,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::atan; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float atan(float __x) { return __builtin_atanf(__x); } @@ -161,7 +160,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::atan2; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float atan2(float __y, float __x) { return __builtin_atan2f(__y, __x); } @@ -182,7 +181,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::ceil; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float ceil(float __x) { return __builtin_ceilf(__x); } @@ -201,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::cos; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float cos(float __x) { return __builtin_cosf(__x); } @@ -220,7 +219,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::cosh; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float cosh(float __x) { return __builtin_coshf(__x); } @@ -239,7 +238,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::exp; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float exp(float __x) { return __builtin_expf(__x); } @@ -258,7 +257,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::fabs; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float fabs(float __x) { return __builtin_fabsf(__x); } @@ -277,7 +276,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::floor; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float floor(float __x) { return __builtin_floorf(__x); } @@ -296,7 +295,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::fmod; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float fmod(float __x, float __y) { return __builtin_fmodf(__x, __y); } @@ -317,7 +316,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::frexp; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline float frexp(float __x, int* __exp) { return __builtin_frexpf(__x, __exp); } @@ -336,7 +335,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::ldexp; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float ldexp(float __x, int __exp) { return __builtin_ldexpf(__x, __exp); } @@ -355,7 +354,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::log; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float log(float __x) { return __builtin_logf(__x); } @@ -374,7 +373,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::log10; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float log10(float __x) { return __builtin_log10f(__x); } @@ -393,7 +392,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::modf; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline float modf(float __x, float* __iptr) { return __builtin_modff(__x, __iptr); } @@ -405,7 +404,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::pow; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float pow(float __x, float __y) { return __builtin_powf(__x, __y); } @@ -442,7 +441,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::sin; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float sin(float __x) { return __builtin_sinf(__x); } @@ -461,7 +460,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::sinh; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float sinh(float __x) { return __builtin_sinhf(__x); } @@ -480,7 +479,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::sqrt; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float sqrt(float __x) { return __builtin_sqrtf(__x); } @@ -499,7 +498,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::tan; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float tan(float __x) { return __builtin_tanf(__x); } @@ -518,7 +517,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION using ::tanh; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline _GLIBCXX_CONSTEXPR float tanh(float __x) { return __builtin_tanhf(__x); } diff --git a/libstdc++-v3/include/tr1/cmath b/libstdc++-v3/include/tr1/cmath --- a/libstdc++-v3/include/tr1/cmath +++ b/libstdc++-v3/include/tr1/cmath @@ -1,6 +1,6 @@ // TR1 cmath -*- C++ -*- -// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 +// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -563,12 +563,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Note: we deal with fabs in a special way, because an using std::fabs // would bring in also the overloads for complex types, which in C++0x // mode have a different return type. - // With __CORRECT_ISO_CPP_MATH_H_PROTO1, math.h imports std::fabs in the + // With __CORRECT_ISO_CPP_MATH_H_PROTO, math.h imports std::fabs in the // global namespace after the declarations of the float / double / long // double overloads but before the std::complex overloads. using ::fabs; -#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO1 +#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO inline float fabs(float __x) { return __builtin_fabsf(__x); } diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc @@ -1,7 +1,7 @@ // 1999-04-12 bkoz // Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, -// 2010 +// 2010, 2012 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -21,10 +21,10 @@ // 27.6.1.2.2 arithmetic extractors -// XXX This test fails on Solaris 8 and 9 because of a bug in libc +// XXX This test fails on Solaris 9 because of a bug in libc // XXX sscanf for very long input. See: // XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html -// { dg-do run { xfail { { *-*-solaris2.[89] } || lax_strtofp } } } +// { dg-do run { xfail { { *-*-solaris2.9 } || lax_strtofp } } } #include #include diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc @@ -1,4 +1,4 @@ -// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 +// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2012 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -18,10 +18,10 @@ // 27.6.1.2.2 arithmetic extractors -// XXX This test fails on Solaris 8 and 9 because of a bug in libc +// XXX This test fails on Solaris 9 because of a bug in libc // XXX sscanf for very long input. See: // XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html -// { dg-do run { xfail { { *-*-solaris2.[89] } || lax_strtofp } } } +// { dg-do run { xfail { { *-*-solaris2.9 } || lax_strtofp } } } #include #include diff --git a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc --- a/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc +++ b/libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc @@ -1,10 +1,11 @@ // Before Solaris 11, iconv -f ISO-8859-1 -t ISO-8859-1 fails with // Not supported ISO-8859-1 to ISO-8859-1 // -// { dg-do run { xfail *-*-solaris2.[89] *-*-solaris2.10 } } +// { dg-do run { xfail *-*-solaris2.9 *-*-solaris2.10 } } // { dg-require-iconv "ISO-8859-1" } -// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010 Free Software Foundation +// Copyright (C) 2004, 2005, 2006, 2007, 2009, 2010, 2012 +// Free Software Foundation // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the