2004-08-02 Mark Mitchell <mark@codesourcery.com>
+ * libsupc++/cxxabi.h: Make all declarations have default
+ visibility.
+ * libsupc++/exception: Likewise.
+ * libsupc++/new: Likewise.
+ * libsupc++/typeinfo: Likewise.
+ * libsupc++/unwind-cxx.h: Likewise.
+ * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into
+ the __cxxabiv1 namespace.
+ (__cxa_free_exception): Likewise.
+ * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise.
+ (__cxa_bad_typeid): Likewise.
+ * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
+ (__cxa_end_catch): Likewise.
+ * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise.
+ (__cxa_get_globals): Likewise.
+ * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
+ (__cxa_rethrow): Likewise.
+ * libsupc++/pure.cc (__cxa_pure_virtual): Likewise.
+ * libsupc++/eh_type.cc: Include <cxxabi.h>.
+
* Makefile.am (hosted_source): Add libmath and testsuite.
(SUBDIRS): Remove them.
* acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding
#ifndef _CXXABI_H
#define _CXXABI_H 1
+#pragma GCC visibility push(default)
+
#include <stddef.h>
#include <bits/cxxabi_tweaks.h>
#endif // __cplusplus
+#pragma GCC visibility pop
+
#endif // __CXXABI_H
extern "C" void *
-__cxa_allocate_exception(std::size_t thrown_size) throw()
+__cxxabiv1::__cxa_allocate_exception(std::size_t thrown_size) throw()
{
void *ret;
extern "C" void
-__cxa_free_exception(void *vptr) throw()
+__cxxabiv1::__cxa_free_exception(void *vptr) throw()
{
char *ptr = (char *) vptr;
if (ptr >= &emergency_buffer[0][0]
#include "exception_defines.h"
extern "C" void
-__cxa_bad_cast ()
+__cxxabiv1::__cxa_bad_cast ()
{
#ifdef __EXCEPTIONS
throw std::bad_cast();
}
extern "C" void
-__cxa_bad_typeid ()
+__cxxabiv1::__cxa_bad_typeid ()
{
#ifdef __EXCEPTIONS
throw std::bad_typeid();
extern "C" void *
-__cxa_begin_catch (void *exc_obj_in) throw()
+__cxxabiv1::__cxa_begin_catch (void *exc_obj_in) throw()
{
_Unwind_Exception *exceptionObject
= reinterpret_cast <_Unwind_Exception *>(exc_obj_in);
extern "C" void
-__cxa_end_catch ()
+__cxxabiv1::__cxa_end_catch ()
{
__cxa_eh_globals *globals = __cxa_get_globals_fast ();
__cxa_exception *header = globals->caughtExceptions;
#endif
extern "C" __cxa_eh_globals *
-__cxa_get_globals_fast () throw()
+__cxxabiv1::__cxa_get_globals_fast () throw()
{
#if __GTHREADS
if (use_thread_key)
}
extern "C" __cxa_eh_globals *
-__cxa_get_globals () throw()
+__cxxabiv1::__cxa_get_globals () throw()
{
#if __GTHREADS
__cxa_eh_globals *g;
#include <bits/c++config.h>
#include "unwind-cxx.h"
-
using namespace __cxxabiv1;
extern "C" void
-__cxa_throw (void *obj, std::type_info *tinfo, void (*dest) (void *))
+__cxxabiv1::__cxa_throw (void *obj, std::type_info *tinfo,
+ void (*dest) (void *))
{
__cxa_exception *header = __get_exception_header_from_obj (obj);
header->exceptionType = tinfo;
}
extern "C" void
-__cxa_rethrow ()
+__cxxabiv1::__cxa_rethrow ()
{
__cxa_eh_globals *globals = __cxa_get_globals ();
__cxa_exception *header = globals->caughtExceptions;
#include <typeinfo>
+#include <cxxabi.h>
#include "unwind-cxx.h"
namespace __cxxabiv1
#ifndef __EXCEPTION__
#define __EXCEPTION__
+#pragma GCC visibility push(default)
+
extern "C++" {
namespace std
} // extern "C++"
+#pragma GCC visibility pop
+
#endif
#include <cstddef>
#include <exception>
+#pragma GCC visibility push(default)
+
extern "C++" {
namespace std
//@}
} // extern "C++"
+#pragma GCC visibility pop
+
#endif
// the GNU General Public License.
#include <bits/c++config.h>
+#include <cxxabi.h>
#include "unwind-cxx.h"
#if _GLIBCXX_HOSTED
#endif
extern "C" void
-__cxa_pure_virtual (void)
+__cxxabiv1::__cxa_pure_virtual (void)
{
writestr ("pure virtual method called\n");
std::terminate ();
#include <exception>
+#pragma GCC visibility push(default)
+
extern "C++" {
namespace __cxxabiv1
};
} // namespace std
+#pragma GCC visibility pop
+
} // extern "C++"
#endif
#include <cstddef>
#include "unwind.h"
+#pragma GCC visibility push(default)
+
namespace __cxxabiv1
{
} /* namespace __cxxabiv1 */
+#pragma GCC visibility pop
+
#endif // _UNWIND_CXX_H