mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 19:03:59 +08:00
acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED appropriately.
2003-09-02 Phil Edwards <phil@codesourcery.com> * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED appropriately. * config.h.in: Add _GLIBCXX_HOSTED. * libsupc++/eh_term_handler.cc: Test it here; initialize __terminate_handler to std::abort if freestanding. * aclocal.m4, configure: Regenerated. * docs/html/configopts.html: Document --disable-hosted-libstdcxx. From-SVN: r71001
This commit is contained in:
parent
742c0a4ee1
commit
3660e02f0d
@ -1,3 +1,13 @@
|
||||
2003-09-02 Phil Edwards <phil@codesourcery.com>
|
||||
|
||||
* acinclude.m4 (GLIBCXX_ENABLE_HOSTED): #define _GLIBCXX_HOSTED
|
||||
appropriately.
|
||||
* config.h.in: Add _GLIBCXX_HOSTED.
|
||||
* libsupc++/eh_term_handler.cc: Test it here; initialize
|
||||
__terminate_handler to std::abort if freestanding.
|
||||
* aclocal.m4, configure: Regenerated.
|
||||
* docs/html/configopts.html: Document --disable-hosted-libstdcxx.
|
||||
|
||||
2003-08-29 Nathan Myers <ncm@cantrip.org>
|
||||
|
||||
PR libstdc++/11990
|
||||
|
@ -1276,6 +1276,9 @@ dnl
|
||||
dnl Sets:
|
||||
dnl is_hosted (yes/no)
|
||||
dnl
|
||||
dnl Defines:
|
||||
dnl _GLIBCXX_HOSTED (always defined, either to 1 or 0)
|
||||
dnl
|
||||
AC_DEFUN(GLIBCXX_ENABLE_HOSTED, [
|
||||
AC_ARG_ENABLE([hosted-libstdcxx],
|
||||
AC_HELP_STRING([--disable-hosted-libstdcxx],
|
||||
@ -1284,12 +1287,16 @@ AC_DEFUN(GLIBCXX_ENABLE_HOSTED, [
|
||||
if test "$enable_hosted_libstdcxx" = no; then
|
||||
AC_MSG_NOTICE([Only freestanding libraries will be built])
|
||||
is_hosted=no
|
||||
hosted_define=0
|
||||
enable_abi_check=no
|
||||
enable_libstdcxx_pch=no
|
||||
else
|
||||
is_hosted=yes
|
||||
hosted_define=1
|
||||
fi
|
||||
GLIBCXX_CONDITIONAL(GLIBCXX_HOSTED, test $is_hosted = yes)
|
||||
AC_DEFINE_UNQUOTED(_GLIBCXX_HOSTED, $hosted_define,
|
||||
[Define to 1 if a full hosted library is built, or 0 if freestanding.])
|
||||
])
|
||||
|
||||
|
||||
|
7
libstdc++-v3/aclocal.m4
vendored
7
libstdc++-v3/aclocal.m4
vendored
@ -1289,6 +1289,9 @@ dnl
|
||||
dnl Sets:
|
||||
dnl is_hosted (yes/no)
|
||||
dnl
|
||||
dnl Defines:
|
||||
dnl _GLIBCXX_HOSTED (always defined, either to 1 or 0)
|
||||
dnl
|
||||
AC_DEFUN(GLIBCXX_ENABLE_HOSTED, [
|
||||
AC_ARG_ENABLE([hosted-libstdcxx],
|
||||
AC_HELP_STRING([--disable-hosted-libstdcxx],
|
||||
@ -1297,12 +1300,16 @@ AC_DEFUN(GLIBCXX_ENABLE_HOSTED, [
|
||||
if test "$enable_hosted_libstdcxx" = no; then
|
||||
AC_MSG_NOTICE([Only freestanding libraries will be built])
|
||||
is_hosted=no
|
||||
hosted_define=0
|
||||
enable_abi_check=no
|
||||
enable_libstdcxx_pch=no
|
||||
else
|
||||
is_hosted=yes
|
||||
hosted_define=1
|
||||
fi
|
||||
GLIBCXX_CONDITIONAL(GLIBCXX_HOSTED, test $is_hosted = yes)
|
||||
AC_DEFINE_UNQUOTED(_GLIBCXX_HOSTED, $hosted_define,
|
||||
[Define to 1 if a full hosted library is built, or 0 if freestanding.])
|
||||
])
|
||||
|
||||
|
||||
|
@ -878,6 +878,9 @@
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define to 1 if a full hosted library is built, or 0 if freestanding. */
|
||||
#undef _GLIBCXX_HOSTED
|
||||
|
||||
/* Define if the compiler is configured for setjmp/longjmp exceptions. */
|
||||
#undef _GLIBCXX_SJLJ_EXCEPTIONS
|
||||
//
|
||||
|
9
libstdc++-v3/configure
vendored
9
libstdc++-v3/configure
vendored
@ -4819,13 +4819,20 @@ fi;
|
||||
{ echo "$as_me:$LINENO: Only freestanding libraries will be built" >&5
|
||||
echo "$as_me: Only freestanding libraries will be built" >&6;}
|
||||
is_hosted=no
|
||||
hosted_define=0
|
||||
enable_abi_check=no
|
||||
enable_libstdcxx_pch=no
|
||||
else
|
||||
is_hosted=yes
|
||||
hosted_define=1
|
||||
fi
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define _GLIBCXX_HOSTED $hosted_define
|
||||
_ACEOF
|
||||
|
||||
|
||||
|
||||
# Check for support bits and g++ features that don't require linking.
|
||||
|
||||
@ -4862,7 +4869,7 @@ fi;
|
||||
#
|
||||
# Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
|
||||
cat > conftest.$ac_ext << EOF
|
||||
#line 4865 "configure"
|
||||
#line 4872 "configure"
|
||||
struct S { ~S(); };
|
||||
void bar();
|
||||
void foo()
|
||||
|
@ -146,7 +146,7 @@ options</a></h1>
|
||||
|
||||
<dt><code>--enable-libstdcxx-debug </code></dt>
|
||||
<dd><p>Build separate debug libraries in addition to what is normally built.
|
||||
By default, the debug libraries are compiled with
|
||||
By default, the debug libraries are compiled with
|
||||
<code> CXXFLAGS='-g3 -O0'</code>
|
||||
, are installed in <code>${libdir}/debug</code>, and have the
|
||||
same names and versioning information as the non-debug
|
||||
@ -273,6 +273,14 @@ options</a></h1>
|
||||
testsuite.
|
||||
</p>
|
||||
</dd>
|
||||
|
||||
<dt><code>--disable-hosted-libstdcxx </code></dt>
|
||||
<dd><p>By default, a complete <em>hosted</em> C++ library is built. The
|
||||
C++ Standard also describes a <em>freestanding</em> environment,
|
||||
in which only a minimal set of headers are provided. This option
|
||||
builds such an environment.
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Return <a href="#top">to the top of the page</a> or
|
||||
<a href="http://gcc.gnu.org/libstdc++/">to the libstdc++ homepage</a>.
|
||||
|
@ -1,5 +1,5 @@
|
||||
// -*- C++ -*- std::terminate handler
|
||||
// Copyright (C) 2002 Free Software Foundation
|
||||
// Copyright (C) 2002, 2003 Free Software Foundation
|
||||
//
|
||||
// This file is part of GCC.
|
||||
//
|
||||
@ -28,14 +28,24 @@
|
||||
// the GNU General Public License.
|
||||
|
||||
#include "unwind-cxx.h"
|
||||
#include <bits/c++config.h>
|
||||
|
||||
/* We default to the talkative, informative handler. This pulls in the
|
||||
demangler, the dyn-string utilities, and elements of the I/O library.
|
||||
For a low-memory environment, you can return to the earlier "silent death"
|
||||
handler by including <cstdlib>, initializg to "std::abort", and rebuilding
|
||||
the library. */
|
||||
/* We default to the talkative, informative handler in a normal hosted
|
||||
library. This pulls in the demangler, the dyn-string utilities, and
|
||||
elements of the I/O library. For a low-memory environment, you can return
|
||||
to the earlier "silent death" handler by including <cstdlib>, initializing
|
||||
to "std::abort", and rebuilding the library. In a freestanding mode, we
|
||||
default to this latter approach. */
|
||||
|
||||
#if ! _GLIBCXX_HOSTED
|
||||
# include <cstdlib>
|
||||
#endif
|
||||
|
||||
/* The current installed user handler. */
|
||||
std::terminate_handler __cxxabiv1::__terminate_handler =
|
||||
__gnu_cxx::__verbose_terminate_handler;
|
||||
#if _GLIBCXX_HOSTED
|
||||
__gnu_cxx::__verbose_terminate_handler;
|
||||
#else
|
||||
std::abort;
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user