Jakub Jelinek
818ab71a41
Update copyright years.
...
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Federico Lenarduzzi
03e73da676
eh_catch.cc (uncaught_exception, [...]): Return false or zero if the library is built without exceptions.
...
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 22:06:17 +01:00
Ville Voutilainen
03a16cc404
Add support for std::uncaught_exceptions.
...
2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
Add support for std::uncaught_exceptions.
* acinclude.m4: Bump libtool_VERSION.
* config/abi/pre/gnu.ver: Export the new symbol.
* configure: Regenerate.
* libsupc++/eh_catch.cc (uncaught_exceptions): New.
* libsupc++/exception (uncaught_exceptions): New.
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
* testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
From-SVN: r222482
2015-04-27 21:40:29 +01:00
Jakub Jelinek
5624e564d2
Update copyright years.
...
From-SVN: r219188
2015-01-05 13:33:28 +01:00
Richard Sandiford
aa118a03c4
Update copyright years in libstdc++-v3/
...
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Tom Tromey
83c214a835
unwind-cxx.h: Include sys/sdt.h if detected.
...
* libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
(PROBE2): New macro.
* libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
* libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
* configure.ac: Check for sys/sdt.h.
* configure, config.h.in: Rebuild.
From-SVN: r196674
2013-03-15 09:55:07 +01:00
Richard Sandiford
405feeb871
Update copyright in libstdc++-v3.
...
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Benjamin Kosnik
50da34bb1b
re PR libstdc++/49818 (libsupc++ does not export __cxa_get_globals or related functions)
...
2011-10-10 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/49818
* config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
* testsuite/util/testsuite_abi.cc: Same.
* libsupc++/unwind-cxx.h: Move required eh API...
* libsupc++/cxxabi.h: ... to here. Add required forward declarations.
Use _GLIBCXX_NOTHROW.
* libsupc++/pure.cc (__cxa_deleted_virtual): Add.
* libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
* libsupc++/eh_catch.cc: Same.
* libsupc++/eh_globals.cc: Same.
* libsupc++/eh_type.cc: Same.
From-SVN: r179769
2011-10-10 19:03:39 +00:00
Jakub Jelinek
748086b7b2
Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
...
From-SVN: r145841
2009-04-09 17:00:19 +02:00
Benjamin Kosnik
b967bf2560
del_op.cc: Include c++config.h first.
...
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/del_op.cc: Include c++config.h first.
* libsupc++/eh_alloc.cc: Same.
* libsupc++/new_opv.cc: Same.
* libsupc++/eh_throw.cc: Same.
* libsupc++/new_op.cc: Same.
* libsupc++/del_opv.cc: Same.
* libsupc++/eh_catch.cc: Same.
* libsupc++/guard.cc: Same.
* libsupc++/del_opnt.cc: Same.
* libsupc++/eh_exception.cc: Same.
* libsupc++/new_opvnt.cc: Same.
* libsupc++/eh_term_handler.cc: Same.
* libsupc++/eh_personality.cc: Same.
* libsupc++/eh_call.cc: Same.
* libsupc++/new_opnt.cc: Same.
* libsupc++/del_opvnt.cc: Same.
2005-11-21 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (LTCXXCOMPILE): CXXFLAGS last.
* libsupc++/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Same.
From-SVN: r107343
2005-11-22 00:19:07 +00:00
Kelley Cook
83f517994d
All files: Update FSF address.
...
2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
* All files: Update FSF address.
From-SVN: r103192
2005-08-17 02:28:44 +00:00
Paul Brook
617a1b7144
Makefile.in: Set and use UNWIND_H.
...
2005-06-28 Paul Brook <paul@codesourcery.com>
gcc/
* Makefile.in: Set and use UNWIND_H. Install as unwind.h.
* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
* except.c (add_ehspec_entry): Generate arm eabi filter lists.
(assign_filter_values): Ditto.
(output_ttype): New function.
(output_function_exception_table): Use output_ttype. Generate arm
eabi filter lists.
(default_init_unwind_resume_libfunc): New function.
* except.h (default_init_unwind_resume_libfunc): Add prototype.
* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
* opts.c (decode_options): Use targetm.unwind_tables_default.
* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
and arm_eabi_unwinder.
* unwind-c.c: Support Arm EABI unwinder.
* unwind.h: Rename ...
* unwind-generic.h: ... To this.
* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
(TARGET_UNWID_TABLES_DEFAULT): Document.
* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
Define.
(thumb_pushpop, thumb_output_function_prologue): Output unwinding
directives.
(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
!TARGET_UNWIND_INFO.
(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
* config/arm/lib1funcs.asm: Include libunwind.S.
* config/arm/libgcc-bpabi.ver: Add unwinding routines.
* config/arm/libunwind.S: New file.
* config/arm/pr-support.c: New file.
* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
* config/arm/unwind-arm.c: New file.
* config/arm/unwind-arm.h: New file.
* config/i386/t-netware (USER_H): Remove unwind.h.
* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
gcc/cp/
* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
* except.c: Include target.h.
(init_exception_processing): Initialize unwind_resume_libfunc.
* doc/tm.texi: Document TARGET_ASM_TTYPE
gcc/ada/
* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
gcc/java/
* decl.c (java_init_decl_processing): Call
default_init_unwind_resume_libfunc.
gcc/objc/
* objc-act.c (objc_init_exceptions): Call
default_init_unwind_resume_libfunc.
libstdc++/
* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
__cxa_end_cleanup.
* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
* libsupc++/eh_arm.cc: New file.
* libsupc++/eh_call.cc: New file.
* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
__gxx_caught_object.
(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
_Unwind_Complete when using the ARM EABI.
(__cxa_end_catch): Use __is_gxx_exception_class.
* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
using the ARM EABI.
(save_caught_exception, restore_caught_exception): New functions.
(_throw_typet): New typedef.
(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
EABI implementations.
(PERSONALITY_FUNCTION): Use new functions. Addd support for ARM EABI
unwinding libary.
(__cxa_unexpected): Disable when using the ARM EABI.
* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
(__cxa_rethrow): Use __is_gxx_exception_class. Call
_Unwind_RaiseException when using the ARM EABI.
* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
EABI semantics.
(struct __cxa_eh_globals): Ditto.
(__cxa_call_terminate): Add prototype.
(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
prototypes.
(__get_exception_header_from_obj, __get_exception_header_from_ue):
Move earlier in file.
(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
__gxx_caught_object): New functions.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libmath/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* src/Makefie.in: Regenerate.
* testsuite/makefile.in: Regenerate.
From-SVN: r101385
2005-06-28 19:52:27 +00:00
Richard Henderson
38f925677d
re PR libstdc++/20091 (18_support/14026.cc execution test fails)
...
PR libstdc++/20091
* libsupc++/eh_catch.cc (__cxa_begin_catch): Don't special case
decrement of uncaughtExceptions for rethrow.
From-SVN: r95419
2005-02-22 15:17:14 -08:00
Richard Henderson
396090773c
re PR libstdc++/10606 (uncaught_exception() returns false too early)
...
PR libstdc++/10606
gcc/cp/
* except.c (do_get_exception_ptr): New.
(expand_start_catch_block): Use it.
libstdc++/
* config/linker-map.gnu (CXXABI_1.3.1): Add __cxa_get_exception_ptr.
* libsupc++/eh_alloc.cc (__cxa_allocate_exception): Increment
uncaughtExceptions here instead of ...
* libsupc++/eh_throw.cc (__cxa_throw) ... here.
(__cxa_rethrow): Increment uncaughtExceptions here instead of ...
* libsupc++/eh_catch.cc (__cxa_end_catch): ... here.
(__cxa_get_exception_ptr): New.
* libsupc++/unwind-cxx.h (__cxa_get_exception_ptr): Declare.
From-SVN: r95262
2005-02-18 18:35:25 -08:00
Mark Mitchell
723acbd5fa
cxxabi.h: Make all declarations have default visibility.
...
* 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>.
From-SVN: r85463
2004-08-03 06:45:54 +00:00
Benjamin Kosnik
563ae04fec
Fixups for EDG front end.
...
2004-04-06 Benjamin Kosnik <bkoz@redhat.com>
Fixups for EDG front end.
* include/ext/rope: Instead of non-existent function
_Data_allocate, use allocator's allocate. Use this.
(namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
enumerations from _Rope_RopeRep here.
* include/ext/ropeimpl.h: Same.
* src/ext-inst.cc (_S_min_len): Fix up definition.
* config/locale/gnu/ctype_members.cc: Qualify base class members
with this.
* config/locale/generic/ctype_members.cc: Same.
* config/locale/gnu/messages_members.h: Same.
* config/locale/generic/messages_members.h: Same.
* src/ctype.cc: Same.
* include/bits/codecvt.h: Same.
* include/bits/boost_concept_check.h: Declare.
(__error_type_must_be_an_unsigned_integer_type): Remove this.
(__error_type_must_be_an_integer_type): Remove this.
(__error_type_must_be_a_signed_integer_type): Remove this.
* config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.
* libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
specification to definition.
(__cxa_allocate_exception): Same.
* libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
* libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
(__cxa_get_globals): Same.
* libsupc++/del_op.cc: Add comment about freestanding.
From-SVN: r80475
2004-04-07 03:33:36 +00:00
Richard Henderson
c38628062d
re PR libstdc++/14026 (std::uncaught_exception is true although there are no uncaught exceptions (rethrow, ghost exception))
...
PR libstdc++/14026
* libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
uncaughtExceptions during nested catch rethrow.
* testsuite/18_support/14026.cc: New.
From-SVN: r77492
2004-02-08 10:01:23 -08:00
Nathanael Nerode
cbecceb923
Makefile.am, [...]: Replace "GNU CC" with "GCC".
...
2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
* libsupc++/Makefile.am, libsupc++/cxxabi.h, libsupc++/del_op.cc,
libsupc++/del_opnt.cc, libsupc++/del_opv.cc, libsupc++/del_opvnt.cc,
libsupc++/eh_alloc.cc, libsupc++/eh_aux_runtime.cc,
libsupc++/eh_catch.cc, libsupc++/eh_exception.cc,
libsupc++/eh_globals.cc, libsupc++/eh_personality.cc,
libsupc++/eh_term_handler.cc, libsupc++/eh_terminate.cc,
libsupc++/eh_throw.cc, libsupc++/eh_type.cc,
libsupc++/eh_unex_handler.cc, libsupc++/exception,
libsupc++/new, libsupc++/new_handler.cc, libsupc++/new_op.cc,
libsupc++/new_opnt.cc, libsupc++/new_opv.cc, libsupc++/new_opvnt.cc,
libsupc++/pure.cc, libsupc++/tinfo.cc, libsupc++/tinfo2.cc,
libsupc++/typeinfo, libsupc++/unwind-cxx.h, libsupc++/vec.cc:
Replace "GNU CC" with "GCC".
From-SVN: r67155
2003-05-24 16:22:03 +00:00
Richard Henderson
a944ceb94a
except.c: Revert 04-01 and 04-02 forced-unwind changes.
...
gcc/
* except.c: Revert 04-01 and 04-02 forced-unwind changes.
* flags.h, toplev.c, doc/invoke.texi: Likewise.
* unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
* unwind.inc (_Unwind_DeleteException): Check for null
exception_cleanup.
* unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
* unwind.inc (_Unwind_Resume_or_Rethrow): New.
* unwind.h: Declare them.
* libgcc-std.ver (GCC_3.3): Export them.
gcc/cp/
* cfns.gperf: Comment out POSIX thread cancellation points,
plus abort and raise.
* cfns.h: Regenerate.
gcc/testsuite/
* g++.dg/eh/forced1.C: Expect catch-all handlers to run.
Verify exception_cleanup not called for rethrows.
* g++.dg/eh/forced2.C: Test that exception_cleanup is called
when exiting catch block without rethrowing.
* g++.dg/eh/forced3.C: New.
* g++.dg/eh/forced4.C: New.
libstdc++-v3/
* libsupc++/eh_catch.cc (__cxa_begin_catch): Handle foreign exceptions.
(__cxa_end_catch): Likewise.
* libsupc++/eh_throw.cc (__cxa_rethrow): Likewise. Use
_Unwind_Resume_or_Rethrow.
* libsupc++/eh_personality.cc (empty_exception_spec): New.
(PERSONALITY_FUNCTION): Don't ignore terminate or catch-all
for _UA_FORCE_UNWIND. Honor empty filter spec for foreign
exceptions. Don't push terminate/unexpected to cxa functions.
(__cxa_call_unexpected): Remove foreign exception fixmes.
From-SVN: r66583
2003-05-07 15:11:38 -07:00
Jason Merrill
74a3070ffa
eh_personality.cc (__cxa_call_unexpected): Take void*.
...
* libsupc++/eh_personality.cc (__cxa_call_unexpected): Take void*.
* libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise.
* libsupc++/unwind-cxx.h: Adjust.
* src/Makefile.am (strstream.o): Pass -Wno-deprecated.
* libsupc++/eh_type.cc (__cxa_current_exception_type): New file.
* libsupc++/cxxabi.h: Declare it.
* libsupc++/Makefile.am (sources): Add it.
* src/vterminate.cc (verbose_terminate_handler): New file.
* libsupc++/exception: Declare it.
* src/Makefile.am (sources): Add it.
* src/Makefile.am (VPATH): Check the src directory before the top one.
From-SVN: r47132
2001-11-17 21:09:23 -05:00
Benjamin Kosnik
df7b13598a
acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for fgetwc, fgetws.
...
2001-06-09 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_CHECK_WCHAR_T_SUPPORT): Check for fgetwc,
fgetws.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* include/c_std/bits/std_cwchar.h: Remove duplicate fgetwc
injection, guard fgetwc, fgetws.
* include/c_std/bits/std_cstdio.h: Remove superfluous includes.
* include/c_std/bits/std_clocale.h: And here.
* include/c_std/bits/std_cctype.h: And here.
* include/c_std/bits/std_cstdlib.h (strtof): Guard strtof injection.
* config/basic_file_stdio.h: Don't include unistd.h.
* config/c_io_stdio.h: Don't use compatibility headers.
* libsupc++/eh_terminate.cc: Qualify abort.
(__terminate): And here.
* libsupc++/eh_catch.cc (__cxa_end_catch): Qualify abort.
From-SVN: r43070
2001-06-09 06:49:13 +00:00
Richard Henderson
52a11cbfcf
IA-64 ABI Exception Handling.
...
From-SVN: r40924
2001-03-28 03:04:51 -08:00