2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
Jonathan Wakely <jwakely@redhat.com>
* libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
Return false or zero if the library is built without exceptions.
* libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
the library is built without exceptions.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r222484
+2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
+ Return false or zero if the library is built without exceptions.
+ * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
+ the library is built without exceptions.
+
2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
* config/abi/pre/gnu.ver: Fix comment.
bool
std::uncaught_exception() throw()
{
+#if __cpp_exceptions
__cxa_eh_globals *globals = __cxa_get_globals ();
return globals->uncaughtExceptions != 0;
+#else
+ return false;
+#endif
}
int
std::uncaught_exceptions() throw()
{
+#if __cpp_exceptions
__cxa_eh_globals *globals = __cxa_get_globals ();
return globals->uncaughtExceptions;
+#else
+ return 0;
+#endif
}
--disable-libstdcxx-verbose and rebuilding the library.
In a freestanding environment, we default to this latter approach. */
-#if _GLIBCXX_HOSTED && _GLIBCXX_VERBOSE
+#if _GLIBCXX_HOSTED && _GLIBCXX_VERBOSE && __cpp_exceptions
/* The current installed user handler. */
std::terminate_handler __cxxabiv1::__terminate_handler =
__gnu_cxx::__verbose_terminate_handler;