mirror of git://gcc.gnu.org/git/gcc.git
Handle different versions of Solaris 8 <iso/math_iso.h>, <iso/stdlib_iso.h>
* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO) (GLIBCXX_CHECK_STDLIB_PROTO): New tests. * configure.ac (GLIBCXX_CHECK_MATH_PROTO) (GLIBCXX_CHECK_STDLIB_PROTO): Call them. * configure: Regenerate. * config.h.in: Regenerate. * config/os/solaris/solaris2.8/os_defines.h (__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define. * config/os/solaris/solaris2.9: Remove. * configure.host (solaris2.8): Merge with ... (solaris2.9, solaris2.1[0-9]): ... this. Always use os/solaris/solaris2.8. From-SVN: r178217
This commit is contained in:
parent
25ebc08558
commit
09fae88db5
|
@ -1,3 +1,18 @@
|
|||
2011-08-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO)
|
||||
(GLIBCXX_CHECK_STDLIB_PROTO): New tests.
|
||||
* configure.ac (GLIBCXX_CHECK_MATH_PROTO)
|
||||
(GLIBCXX_CHECK_STDLIB_PROTO): Call them.
|
||||
* configure: Regenerate.
|
||||
* config.h.in: Regenerate.
|
||||
* config/os/solaris/solaris2.8/os_defines.h
|
||||
(__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define.
|
||||
* config/os/solaris/solaris2.9: Remove.
|
||||
* configure.host (solaris2.8): Merge with ...
|
||||
(solaris2.9, solaris2.1[0-9]): ... this.
|
||||
Always use os/solaris/solaris2.8.
|
||||
|
||||
2011-08-28 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
* include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
|
||||
|
|
|
@ -1692,6 +1692,100 @@ AC_DEFUN([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS], [
|
|||
[Define to the value of the SEEK_END integer constant.])
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl Check whether required C++ overloads are present in <math.h>.
|
||||
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
|
||||
# <iso/math_iso.h>. 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 <math.h>
|
||||
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 <math.h>. */
|
||||
#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 <math.h>. */
|
||||
#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 <stdlib.h>.
|
||||
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 <iso/stdlib_iso.h>. 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 <stdlib.h>
|
||||
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 <stdlib.h>. */
|
||||
#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 macros, etc are present for <system_error>
|
||||
dnl
|
||||
|
|
|
@ -826,6 +826,21 @@
|
|||
/* Define to 1 if mutex_timedlock is available. */
|
||||
#undef _GTHREAD_USE_MUTEX_TIMEDLOCK
|
||||
|
||||
/* Define if all C++ overloads are available in <math.h>. */
|
||||
#if __cplusplus >= 199711L
|
||||
#undef __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
#endif
|
||||
|
||||
/* Define if only double std::abs(double) is available in <math.h>. */
|
||||
#if __cplusplus >= 199711L
|
||||
#undef __CORRECT_ISO_CPP_MATH_H_PROTO2
|
||||
#endif
|
||||
|
||||
/* Define if all C++ overloads are available in <stdlib.h>. */
|
||||
#if __cplusplus >= 199711L
|
||||
#undef __CORRECT_ISO_CPP_STDLIB_H_PROTO
|
||||
#endif
|
||||
|
||||
#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF)
|
||||
# define HAVE_ACOSF 1
|
||||
# define acosf _acosf
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Specific definitions for Solaris 8 -*- C++ -*-
|
||||
// Specific definitions for Solaris 8+ -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2000, 2002, 2005, 2009, 2011 Free Software Foundation, Inc.
|
||||
//
|
||||
|
@ -28,9 +28,12 @@
|
|||
// System-specific #define, typedefs, corrections, etc, go here. This
|
||||
// file will come before all others.
|
||||
|
||||
// FIXME: Autoconf if possible.
|
||||
#if __cplusplus >= 199711L
|
||||
#define __CORRECT_ISO_CPP_MATH_H_PROTO2
|
||||
// Overloads in <iso/math_iso.h> and <iso/stdlib_iso.h> changed with
|
||||
// Solaris 8 patches. Since <bits/c++config.h> includes
|
||||
// <bits/os_defines.h> 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_STRING_H_PROTO
|
||||
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
|
||||
#endif
|
||||
|
|
|
@ -1,60 +0,0 @@
|
|||
// Locale support -*- C++ -*-
|
||||
|
||||
// Copyright (C) 1997, 1998, 1999, 2000, 2003, 2009 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
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 22.1 Locales
|
||||
//
|
||||
|
||||
// Information as gleaned from /usr/include/ctype.h. Looks like this
|
||||
// only works with solaris2.7 and solaris2.8. Thanks for not changing
|
||||
// things, sun engineers!
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
/// @brief Base class for ctype.
|
||||
struct ctype_base
|
||||
{
|
||||
// Non-standard typedefs.
|
||||
typedef int* __to_type;
|
||||
|
||||
// NB: Offsets into ctype<char>::_M_table force a particular size
|
||||
// on the mask type. Because of this, we don't use an enum.
|
||||
typedef unsigned int mask;
|
||||
static const mask upper = _ISUPPER;
|
||||
static const mask lower = _ISLOWER;
|
||||
static const mask alpha = _ISALPHA;
|
||||
static const mask digit = _ISDIGIT;
|
||||
static const mask xdigit = _ISXDIGIT;
|
||||
static const mask space = _ISSPACE;
|
||||
static const mask print = _ISPRINT;
|
||||
static const mask graph = _ISALPHA | _ISDIGIT | _ISPUNCT;
|
||||
static const mask cntrl = _ISCNTRL;
|
||||
static const mask punct = _ISPUNCT;
|
||||
static const mask alnum = _ISALPHA | _ISDIGIT;
|
||||
};
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
|
@ -1,99 +0,0 @@
|
|||
// Locale support -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2011 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
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
/** @file ctype_configure_char.cc */
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 22.1 Locales
|
||||
//
|
||||
|
||||
#include <locale>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
// Information as gleaned from /usr/include/ctype.h
|
||||
|
||||
const ctype_base::mask*
|
||||
ctype<char>::classic_table() throw()
|
||||
{ return __ctype_mask; }
|
||||
|
||||
ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
|
||||
size_t __refs)
|
||||
: facet(__refs), _M_del(__table != 0 && __del),
|
||||
_M_toupper(__trans_upper), _M_tolower(__trans_lower),
|
||||
_M_table(__table ? __table : classic_table())
|
||||
{
|
||||
memset(_M_widen, 0, sizeof(_M_widen));
|
||||
_M_widen_ok = 0;
|
||||
memset(_M_narrow, 0, sizeof(_M_narrow));
|
||||
_M_narrow_ok = 0;
|
||||
}
|
||||
|
||||
ctype<char>::ctype(const mask* __table, bool __del, size_t __refs)
|
||||
: facet(__refs), _M_del(__table != 0 && __del),
|
||||
_M_toupper(__trans_upper), _M_tolower(__trans_lower),
|
||||
_M_table(__table ? __table : classic_table())
|
||||
{
|
||||
memset(_M_widen, 0, sizeof(_M_widen));
|
||||
_M_widen_ok = 0;
|
||||
memset(_M_narrow, 0, sizeof(_M_narrow));
|
||||
_M_narrow_ok = 0;
|
||||
}
|
||||
|
||||
char
|
||||
ctype<char>::do_toupper(char __c) const
|
||||
{ return _M_toupper[static_cast<unsigned char>(__c)]; }
|
||||
|
||||
const char*
|
||||
ctype<char>::do_toupper(char* __low, const char* __high) const
|
||||
{
|
||||
while (__low < __high)
|
||||
{
|
||||
*__low = _M_toupper[static_cast<unsigned char>(*__low)];
|
||||
++__low;
|
||||
}
|
||||
return __high;
|
||||
}
|
||||
|
||||
char
|
||||
ctype<char>::do_tolower(char __c) const
|
||||
{ return _M_tolower[static_cast<unsigned char>(__c)]; }
|
||||
|
||||
const char*
|
||||
ctype<char>::do_tolower(char* __low, const char* __high) const
|
||||
{
|
||||
while (__low < __high)
|
||||
{
|
||||
*__low = _M_tolower[static_cast<unsigned char>(*__low)];
|
||||
++__low;
|
||||
}
|
||||
return __high;
|
||||
}
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
|
@ -1,76 +0,0 @@
|
|||
// Locale support -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2000, 2002, 2009, 2010 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
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
/** @file bits/ctype_inline.h
|
||||
* This is an internal header file, included by other library headers.
|
||||
* Do not attempt to use it directly. @headername{locale}
|
||||
*/
|
||||
|
||||
//
|
||||
// ISO C++ 14882: 22.1 Locales
|
||||
//
|
||||
|
||||
// ctype bits to be inlined go here. Non-inlinable (ie virtual do_*)
|
||||
// functions go in ctype.cc
|
||||
|
||||
namespace std _GLIBCXX_VISIBILITY(default)
|
||||
{
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
bool
|
||||
ctype<char>::
|
||||
is(mask __m, char __c) const
|
||||
{ return _M_table[static_cast<unsigned char>(__c)] & __m; }
|
||||
|
||||
const char*
|
||||
ctype<char>::
|
||||
is(const char* __low, const char* __high, mask* __vec) const
|
||||
{
|
||||
while (__low < __high)
|
||||
*__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
|
||||
return __high;
|
||||
}
|
||||
|
||||
const char*
|
||||
ctype<char>::
|
||||
scan_is(mask __m, const char* __low, const char* __high) const
|
||||
{
|
||||
while (__low < __high
|
||||
&& !(_M_table[static_cast<unsigned char>(*__low)] & __m))
|
||||
++__low;
|
||||
return __low;
|
||||
}
|
||||
|
||||
const char*
|
||||
ctype<char>::
|
||||
scan_not(mask __m, const char* __low, const char* __high) const
|
||||
{
|
||||
while (__low < __high
|
||||
&& (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
|
||||
++__low;
|
||||
return __low;
|
||||
}
|
||||
|
||||
_GLIBCXX_END_NAMESPACE_VERSION
|
||||
} // namespace
|
|
@ -1,40 +0,0 @@
|
|||
// Specific definitions for Solaris 9+ -*- C++ -*-
|
||||
|
||||
// Copyright (C) 2000, 2002, 2005, 2009, 2011 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
|
||||
// terms of the GNU General Public License as published by the
|
||||
// Free Software Foundation; either version 3, or (at your option)
|
||||
// any later version.
|
||||
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// Under Section 7 of GPL version 3, you are granted additional
|
||||
// permissions described in the GCC Runtime Library Exception, version
|
||||
// 3.1, as published by the Free Software Foundation.
|
||||
|
||||
// You should have received a copy of the GNU General Public License and
|
||||
// a copy of the GCC Runtime Library Exception along with this program;
|
||||
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef _GLIBCXX_OS_DEFINES
|
||||
#define _GLIBCXX_OS_DEFINES 1
|
||||
|
||||
// System-specific #define, typedefs, corrections, etc, go here. This
|
||||
// file will come before all others.
|
||||
|
||||
// FIXME: Autoconf if possible.
|
||||
#if __cplusplus >= 199711L
|
||||
#define __CORRECT_ISO_CPP_MATH_H_PROTO1
|
||||
#define __CORRECT_ISO_CPP_STDLIB_H_PROTO
|
||||
#define __CORRECT_ISO_CPP_STRING_H_PROTO
|
||||
#define __CORRECT_ISO_CPP_WCHAR_H_PROTO
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -17188,6 +17188,127 @@ $as_echo "$enable_extern_template" >&6; }
|
|||
# Checks for operating systems support that doesn't require linking.
|
||||
|
||||
|
||||
|
||||
ac_ext=cpp
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
|
||||
case "$host" in
|
||||
*-*-solaris2.*)
|
||||
# Solaris 8 FCS only had an overload for double std::abs(double) in
|
||||
# <iso/math_iso.h>. Patches 111721-04 (SPARC) and 112757-01 (x86)
|
||||
# introduced the full set also found from Solaris 9 onwards.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for float std::abs(float) overload" >&5
|
||||
$as_echo_n "checking for float std::abs(float) overload... " >&6; }
|
||||
if test "${glibcxx_cv_abs_float+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <math.h>
|
||||
namespace std {
|
||||
inline float abs(float __x)
|
||||
{ return __builtin_fabsf(__x); }
|
||||
}
|
||||
|
||||
_ACEOF
|
||||
if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
glibcxx_cv_abs_float=no
|
||||
else
|
||||
glibcxx_cv_abs_float=yes
|
||||
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
|
||||
|
||||
# autoheader cannot handle indented templates.
|
||||
|
||||
|
||||
|
||||
if test $glibcxx_cv_abs_float = yes; then
|
||||
$as_echo "#define __CORRECT_ISO_CPP_MATH_H_PROTO1 1" >>confdefs.h
|
||||
|
||||
else
|
||||
$as_echo "#define __CORRECT_ISO_CPP_MATH_H_PROTO2 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_abs_float" >&5
|
||||
$as_echo "$glibcxx_cv_abs_float" >&6; }
|
||||
;;
|
||||
esac
|
||||
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ac_ext=cpp
|
||||
ac_cpp='$CXXCPP $CPPFLAGS'
|
||||
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
|
||||
|
||||
|
||||
case "$host" in
|
||||
*-*-solaris2.*)
|
||||
# Solaris 8 FCS lacked the overloads for long std::abs(long) and
|
||||
# ldiv_t std::div(long, long) in <iso/stdlib_iso.h>. Patches 109607-02
|
||||
# (SPARC) and 109608-02 (x86) introduced them.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long std::abs(long) overload" >&5
|
||||
$as_echo_n "checking for long std::abs(long) overload... " >&6; }
|
||||
if test "${glibcxx_cv_abs_long+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdlib.h>
|
||||
namespace std {
|
||||
inline long
|
||||
abs(long __i) { return labs(__i); }
|
||||
}
|
||||
|
||||
_ACEOF
|
||||
if ac_fn_cxx_try_compile "$LINENO"; then :
|
||||
glibcxx_cv_abs_long=no
|
||||
else
|
||||
glibcxx_cv_abs_long=yes
|
||||
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
|
||||
|
||||
# autoheader cannot handle indented templates.
|
||||
|
||||
if test $glibcxx_cv_abs_long = yes; then
|
||||
$as_echo "#define __CORRECT_ISO_CPP_STDLIB_H_PROTO 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_abs_long" >&5
|
||||
$as_echo "$glibcxx_cv_abs_long" >&6; }
|
||||
;;
|
||||
esac
|
||||
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
|
||||
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
|
||||
ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOWNERDEAD" >&5
|
||||
$as_echo_n "checking for EOWNERDEAD... " >&6; }
|
||||
if test "${glibcxx_cv_system_error1+set}" = set; then :
|
||||
|
|
|
@ -135,6 +135,8 @@ GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING([no])
|
|||
GLIBCXX_ENABLE_EXTERN_TEMPLATE([yes])
|
||||
|
||||
# Checks for operating systems support that doesn't require linking.
|
||||
GLIBCXX_CHECK_MATH_PROTO
|
||||
GLIBCXX_CHECK_STDLIB_PROTO
|
||||
GLIBCXX_CHECK_SYSTEM_ERROR
|
||||
|
||||
# For the streamoff typedef.
|
||||
|
|
|
@ -284,12 +284,9 @@ case "${host_os}" in
|
|||
echo "Please specify the full version of Solaris, ie. solaris2.9 " 1>&2
|
||||
exit 1
|
||||
;;
|
||||
solaris2.8)
|
||||
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"
|
||||
;;
|
||||
|
|
Loading…
Reference in New Issue