aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/inc/cxxabi.h
AgeCommit message (Collapse)AuthorFilesLines
2000-10-09Make-lang.in (CXX_EXTRA_HEADERS): Remove.Richard Henderson1-519/+0
* Make-lang.in (CXX_EXTRA_HEADERS): Remove. (c++ language support bits for libgcc): Remove. (c++.clean): Remove cplib2.txt cleanup. * config-lang.in (headers, lib2funcs): Remove. * exception.cc, new.cc, new1.cc, new2.cc: Remove files. * tinfo.cc, tinfo.h, tinfo2.cc, vec.cc: Remove files. * inc/cxxabi.h, inc/exception, inc/new: Remove files. * inc/new.h, inc/typeinfo: Remove files. From-SVN: r36816
2000-08-17cxxabi.h (__cxa_vec_new2, [...]): Declare.Nathan Sidwell1-0/+32
* inc/cxxabi.h (__cxa_vec_new2, __cxa_vec_new3): Declare. (__cxa_vec_delete2, __cxa_vec_delete3): Declare. * vec.cc (__cxa_vec_new2, __cxa_vec_new3): Implement. (__cxa_vec_delete2, __cxa_vec_delete3): Implement. (__cxa_vec_new): Use __cxa_vec_new2. (__cxa_vec_delete): Use __cxa_vec_delete2. From-SVN: r35761
2000-08-17vec.cc (__cxa_vec_new): Set "C" linkage.Nathan Sidwell1-5/+5
* vec.cc (__cxa_vec_new): Set "C" linkage. (__cxa_vec_ctor): Likewise. (__cxa_vec_cctor): Likewise. (__cxa_vec_dtor): Likewise. (__cxa_vec_delete): Likewise. * inc/cxxabi.h (__cxa_vec_new): Set "C" linkage. (__cxa_vec_ctor): Likewise. (__cxa_vec_cctor): Likewise. (__cxa_vec_dtor): Likewise. (__cxa_vec_delete): Likewise. From-SVN: r35760
2000-08-09rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi runtime.Nathan Sidwell1-1/+1
* rtti.c (build_dynamic_cast_1): Set "C" linkage for new abi runtime. * cp/tinfo.cc (__dynamic_cast): Likewise. * cp/inc/cxxabi.h (__dynamic_cast): Likewise. From-SVN: r35588
2000-08-05cxxabi.h (__pbase_type_info): Changed member names to match specifications.Jeffrey Oldham1-33/+33
2000-08-04 Jeffrey D. Oldham <oldham@codesourcery.com> * inc/cxxabi.h (__pbase_type_info): Changed member names to match specifications. (__pointer_to_member_type_info): Likewise. (__base_class_info): Likewise. (__class_type_info): Likewise. (__si_class_type_info): Likewise. (__vmi_class_type_info): Likewise. * tinfo.cc (__si_class_type_info::__do_find_public_src): Changed member names to match specifications. (__vmi_class_type_info::__do_find_public_src): Likewise. (__si_class_type_info::__do_dyncast): Likewise. (__vmi_class_type_info::__do_dyncast): Likewise. (__si_class_type_info::__do_upcast): Likewise. (__vmi_class_type_info::__do_upcast): Likewise. * tinfo2.cc (__pbase_type_info::__do_catch): Likewise. (__pbase_type_info::__pointer_catch): Likewise. (__pointer_type_info::__pointer_catch): Likewise. (__pointer_to_member_type_info::__pointer_catch): Likewise. From-SVN: r35503
2000-07-10cp-tree.h (char_type_p): New function.Mark Mitchell1-0/+8
* cp-tree.h (char_type_p): New function. * decl.c (init_decl_processing): Don't initialize signed_wchar_type_node or unsigned_wchar_type_node. (complete_array_type): Handle brace-enclosed string-constants. * rtti.c (emit_support_tinfos): Remove #if 0'd code. * tree.c (char_type_p): New function. * typeck2.c (digest_init): Use char_type_p. From-SVN: r34936
2000-06-23in include/ChangeLog:Alex Samuel1-0/+8
* dyn-string.h (dyn_string_init, dyn_string_new, dyn_string_delete, dyn_string_release, dyn_string_resize, dyn_string_clear, dyn_string_copy, dyn_string_copy_cstr, dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert, dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr, dyn_string_append_char, dyn_string_substring_dyn_string_eq): Define as same name with __cxa_ prepended, if IN_LIBGCC2. (dyn_string_init, dyn_string_copy, dyn_string_copy_cstr, dyn_string_prepend, dyn_string_prepend_cstr, dyn_string_insert, dyn_string_insert_cstr, dyn_string_append, dyn_string_append_cstr, dyn_string_append_char, dyn_string_substring): Change return type to int. in libiberty/ChangeLog: * cp-demangle.c: Don't include ctype.h. (IS_DIGIT): New macro. (IS_ALPHA): Likewise. Use IS_DIGIT and IS_ALPHA throughout instead of isdigit and isalpanum. (demangling_def): Make name and next const pointers. (STATUS_ALLOCATION_FAILED): New status code. (dyn_string_append_space): Handle failure in dyn_string_append_char. (int_to_dyn_string): Likewise. Change return value to status_t. (string_list_new): Handle failure of dyn_string_init. (result_close_template_list): Change return type to status_t. Handle failure in dyn_string_append. (result_push): Change return value to status_t. Handle failure in string_list_new. Handle failure of result_push throughout. (substitution_add): Change return value to status_t. Handle dyn_string failures. Handle failure of substitution_add throughout. (template_arg_list_new): Return NULL on allocation failure. (result_append_string): Return STATUS_ALLOCATION_FAILED on error. Handle error result throughout. (result_append): Likewise. (result_append_char): Likewise. (result_append_space): Likewise. (demangling_new): Make argument a const pointer. Handle allocation failures. (demangle_template_args): Handle failure in template_arg_list_new and result_close_template_list. (demangle_discriminator): Return if int_to_dyn_string fails. (cp_demangle): Likewise. (cp_demangle_type): New function. (cplus_demangle_new_abi): Don't call dyn_string_delete. Abort on memory allocation failure. (main): Likewise. * dyn-string.c (RETURN_ON_ALLOCATION_FAILURE): Define if IN_LIBGCC2. (dyn_string_init): Change return value to int. Handle RETURN_ON_ALLOCATION_FAILURE case. (dyn_string_new): Handle RETURN_ON_ALLOCATION_FAILURE case. (dyn_string_release): Delete the dyn_string. (dyn_string_resize): Handle RETURN_ON_ALLOCATION_FAILURE case. (dyn_string_copy): Change return type to int. (dyn_string_copy_cstr): Likewise. (dyn_string_prepend): Likewise. (dyn_string_prepend_cstr): Likewise. (dyn_string_insert): Likewise. (dyn_string_insert_cstr): Likewise. (dyn_string_append): Likewise. (dyn_string_append_cstr): Likewise. (dyn_string_append_char): Likewise. (dyn_string_substring): Likewise. in gcc/cp/ChangeLog: * Make-lang.in (CXX_LIB2FUNCS): Add cp-demangle.o and dyn-string.o. (CXX_LIB2SRCS): Add cp-demangle.c and dyn-string.c. (cp-demangle.o): New rule. (dyn-string.o): Likewise. * inc/cxxabi.h (__cxa_demangle): New declaration. From-SVN: r34657
2000-05-25cxxabi.h (__pbase_type_info): Define, based on __pointer_type_info.Nathan Sidwell1-48/+68
* inc/cxxabi.h (__pbase_type_info): Define, based on __pointer_type_info. (__pointer_type_info): Derive from __pbase_type_info. Adjust. (__pointer_to_member_type_info): Likewise. * tinfo2.cc (__pbase_type_info::~__pbase_type_info): Implement. (__pointer_to_member_type_info::__is_pointer_p): Remove. (__pointer_type_info::__do_catch): Rename to ... (__pbase_type_info::__do_catch): ... here. Adjust. (__pbase_type_info::__pointer_catch): Implement. (__pointer_type_info::__pointer_catch): Adjust. (__pointer_to_member_type_info::__pointer_catch): Adjust. From-SVN: r34165
2000-05-24Update new-abi upcast algorithm.Nathan Sidwell1-9/+5
* inc/cxxabi.h (__class_type_info::__do_upcast): Change prototype and meaning of return value. (__si_class_type_info::__do_upcast): Likewise. (__vmi_class_type_info::__do_upcast): Likewise. * tinfo.cc (__class_type_info::__upcast_result): Replace whole2dst with part2dst. Adjust ctor. (__class_type_info::__do_upcast): Adjust call of worker function. (__class_type_info::__do_upcast): Adjust. (__si_class_type_info::__do_upcast): Adjust. Use parent's __do_upcast. (__vmi_class_type_info::__do_upcast): Likewise. Fix private virtual base in diamond heirarchy bug. From-SVN: r34132
2000-05-08tinfo.cc (__dynamic_cast): Use a reinterpret_cast.Nathan Sidwell1-3/+3
* tinfo.cc (__dynamic_cast): Use a reinterpret_cast. Fix offsetof expansion. * inc/cxxabi.h: Fix typos in comment. (__base_class_info::__offset): Use a static_cast. From-SVN: r33773
2000-05-07cxxabi.h: Use __SIZE_TYPE_ and __PTRDIFF_TYPE__ in place of std::size_t and...Nathan Sidwell1-22/+26
* inc/cxxabi.h: Use __SIZE_TYPE_ and __PTRDIFF_TYPE__ in place of std::size_t and std::ptrdiff_t respectively. * tinfo.cc: Likewise. * vec.cc: Likewise. From-SVN: r33759
2000-05-06rtti.c (ptmd_initializer): Set non-public, if class is incomplete.Nathan Sidwell1-0/+5
* rtti.c (ptmd_initializer): Set non-public, if class is incomplete. * inc/cxxabi.h (__dynamic_cast): Explicitly say extern "C++". (__cxa_vec_new, __cxa_vec_ctor, __cxa_vec_dtor, __cxa_vec_delete): Likewise. * tinfo.cc (__dynamic_cast): Likewise. * vec.cc (__cxa_vec_new, __cxa_vec_ctor, __cxa_vec_dtor, __cxa_vec_delete): Likewise. From-SVN: r33726
2000-05-02exception.cc: Update license notice.Mark Mitchell1-3/+29
* exception.cc: Update license notice. * new.cc: Likewise. * new1.cc: Likewise. * new2.cc: Likewise. * tinfo.cc: Likewise. * tinfo2.cc: Likewise. * vec.cc: Likewise. * inc/cxxabi.h: Likewise. * inc/exception: Likewise. * inc/new: Likewise. * inc/new.h: Likewise. * inc/typeinfo: Likewise. From-SVN: r33601
2000-04-20rtti.c (init_rtti_processing): Set tinfo_var_id in new-abi.Nathan Sidwell1-1/+2
* rtti.c (init_rtti_processing): Set tinfo_var_id in new-abi. (target_incomplete_p): New function. (tinfo_base_init): Create comdat NTBS name variable. (ptr_initializer): Add non_public parameter. Calculate it. (ptmd_initializer): Likewise. (synthesize_tinfo_var): Adjust. Emit incomplete class tinfo. (create_real_tinfo_var): Add non_public parameter. Use it. Push proxy into global namespace. * inc/cxxabi.h (__pointer_type_info::incomplete_class_mask): New enumeration. * inc/typeinfo (type_info::before, type_info::operator==): Compare __name addresses. * tinfo2.cc: Remove new-abi builtins comment. From-SVN: r33281
2000-04-13class.c (build_base_field): Reformat comment.Nathan Sidwell1-1/+7
* class.c (build_base_field): Reformat comment. * inc/cxxabi.h (stddef.h): Comment inclusion. (__base_class_info::__offset): Comment shift. From-SVN: r33137
2000-04-10cxxabi.h (__pointer_type_info): Add restrict and incomplete flags.Nathan Sidwell1-17/+18
* inc/cxxabi.h (__pointer_type_info): Add restrict and incomplete flags. (__pointer_type_info::__pointer_catch): New virtual function. (__pointer_to_member_type_info): Derive from __pointer_type_info. Adjust. (__pointer_to_member_type_info::__do_catch): Remove. (__pointer_to_member_type_info::__is_pointer_p): Declare. (__pointer_to_member_type_info::__pointer_catch): Declare. * rtti.c (qualifier_flags): Add restrict flag. (ptmd_initializer): Reorder members. (create_tinfo_types): Expand comments. Reorder ptmd_desc_type_node members. * tinfo2.cc (__pointer_to_member_type_info::__is_pointer_p): Implement. (__pointer_type_info::__do_catch): Move specific code into __pointer_catch. Call it. (__pointer_type_info::__pointer_catch): Non-pointer-to-member specific catch checking. Fix void conversion check. (__pointer_to_member_type_info::__do_catch): Remove. (__pointer_to_member_type_info::__pointer_catch): Implement. From-SVN: r33061
2000-04-09Prepend __ to implementation defined names.Nathan Sidwell1-117/+104
* inc/typeinfo (type_info): Rename _name to __name. (type_info::type_info): Rename parameter. (type_info::operator==, type_info::operator!=, type_info::before): Likewise. (type_info::is_pointer_p, type_info::is_function_p, type_info::do_catch, type_info::do_upcast): Prepend __. Rename parameters. * inc/cxxabi.h (__fundamental_type_info::__fundamental_type_info) Rename parameters. (__pointer_type_info::__pointer_type_info): Likewise. (__pointer_type_info::is_pointer_p, __pointer_type_info::do_catch): Prepend __. Rename parameters. (__array_type_info::__array_type_info): Rename parameters. (__function_type_info::__function_type_info): Likewise. (__function_type_info::is_function_p): Prepend __. (__enum_type_info::__enum_type_info): Rename parameters. (__pointer_to_member_type_info::__pointer_to_member_type_info): Likewise. (__pointer_to_member_type_info::do_catch): Prepend __. Rename parameters. (__base_class_info::is_virtual_p, is_public_p, offset): Prepend __. (__class_type_info::__class_type_info): Rename parameters. (__class_type_info::sub_kind): Prepend __. Adjust member names. (__class_type_info::upcast_result, __class_type_info::dyncast_result): Prepend __. Move definition into tinfo.cc. (__class_type_info::do_upcast, __class_type_info::do_catch, __class_type_info::find_public_src, __class_type_info::do_dyncast, __class_type_info::do_find_public_src): Prepend __. Rename parameters. (__si_class_type_info::__si_class_type_info): Rename parameters. (__si_class_type_info::do_upcast, __si_class_type_info::do_dyncast, __si_class_type_info::do_find_public_src): Prepent __. Rename parameters. (__vmi_class_type_info::__vmi_class_type_info): Rename parameters. (__vmi_class_type_info::do_upcast, __vmi_class_type_info::do_dyncast, __vmi_class_type_info::do_find_public_src): Prepent __. Rename parameters. (__dynamic_cast): Rename parameters. * tinfo.cc (type_info::is_pointer_p, type_info::is_function_p, type_info::do_catch, type_info::do_upcast): Prepend __. (contained_p, public_p, virtual_p, contained_public_p, contained_nonpublic_p, contained_nonvirtual_p): Adjust. (__class_type_info::do_catch, __class_type_info::do_upcast): Prepend __. Adjust. (__class_type_info::__upcast_result, __class_type_info::__dyncast_result): Move from inc/cxxabi.h. Adjust. (__class_type_info::find_public_src): Prepend __. Adjust. (__class_type_info::do_find_public_src, __si_class_type_info::do_find_public_src, __vmi_class_type_info::do_find_public_src): Likewise. (__class_type_info::do_dyncast, __si_class_type_info::do_dyncast, __vmi_class_type_info::do_dyncast): Likewise. (__class_type_info::do_upcast, __si_class_type_info::do_upcast, __vmi_class_type_info::do_upcast): Likewise. (__dynamic_cast): Adjust. * tinfo2.cc (__pointer_type_info::is_pointer_p): Prepend __. (__function_type_info::is_function_p): Likewise. (__pointer_type_info::do_catch): Likewise. Adjust. (__pointer_to_member_type_info::do_catch): Likewise. Adjust. (__throw_type_match_rtti_2): Adjust. (__is_pointer): Adjust. From-SVN: r33041
2000-04-07Rename abi::__vmi_class_type_info members.Nathan Sidwell1-7/+7
* inc/cxxabi.h (__vmi_class_type_info): Rename details, n_bases, base_list, detail_masks members to vmi_flags, vmi_base_count, vmi_bases and vmi_flags_masks respectively. (__vmi_class_type_info::vmi_flags_masks): Rename details_unknown_mask to flags_unknown_mask. * tinfo.cc (__class_type_info::do_upcast): Adjust. (__vmi_class_type_info::do_find_public_src): Adjust. (__vmi_class_type_info::do_dyncast): Adjust. (__vmi_class_type_info::do_upcast): Adjust. From-SVN: r33004
2000-04-06vec.cc: New file.Nathan Sidwell1-1/+27
* vec.cc: New file. * Make-lang.in (CXX_LIB2FUNCS): Add it. (vec.o): Build it. * inc/cxxabi.h (__cxa_vec_new, __cxa_vec_ctor, __cxa_vec_dtor, __cxa_vec_delete): Declare. From-SVN: r32967
2000-03-30rtti.c (class_hint_flags): Rename flags.Nathan Sidwell1-25/+25
* rtti.c (class_hint_flags): Rename flags. (class_initializer): Remove flags. (synthesize_tinfo_var): Combine offset and flags. Add flags for __vmi_class_type_info. (create_tinfo_types): Remove flags from __class_type_info and __si_class_type_info. Merge flags and offset from base_class_type_info. * inc/cxxabi.h (__base_class_info): Merge offset and vmi_flags. (__base_class_info::is_virtual_p): Adjust. (__base_class_info::is_public_p): Adjust. (__base_class_info::offset): New accessor. (__class_type_info::details): Remove member. (__class_type_info::__class_type_info): Lose details. (__class_type_info::detail_masks): Remove. (__si_class_type_info::__si_class_type_info): Lose details. (__vmi_class_type_info::details): New member. (__vmi_class_type_info::__vmi_class_type_info): Adjust. (__vmi_class_type_info::detail_masks): New member. * tinfo.cc (__class_type_info::do_upcast): Initialize result with unknown_details_mask. (__vmi_class_type_info::do_find_public_src): Adjust (__vmi_class_type_info::do_dyncast): Adjust. (__vmi_class_type_info::do_upcast): Set result details, if needed. Adjust. (__dynamic_cast): Temporarily #if out optimization. From-SVN: r32828
2000-03-21cxxabi.h: New header file.Nathan Sidwell1-0/+399
* inc/cxxabi.h: New header file. Define new-abi entry points. (__pointer_type_info::target): Rename member to ... (__pointer_type_info::type): ... here. (__base_class_info::type): Rename member to ... (__base_class_info::base): ... here. * Make-lang.in (CXX_EXTRA_HEADERS): Add cxxabi.h * cp-tree.h (CPTI_ABI): New global tree enumeration. (abi_node): New global tree node. * decl.c (abi_node): Document. (init_decl_processing): Initialize abi_node. * rtti.c (build_dynamic_cast_1): Use abi_node for new-abi. (get_vmi_pseudo_type_info): Likewise. (create_tinfo_types): Likewise. (emit_support_tinfos): Likewise. * tinfo.h (cxxabi.h): Include for new-abi. Move rtti class definitions to new header file. * tinfo.cc (abi): Use the namespace. (std): Move new abi rtti classes from here ... (__cxxabiv1): ... to here. * tinfo2.cc (cxxabi.h): Include for new-abi. Move rtti class definitions to new header file. (std): Move new abi rtti classes from here ... (__cxxabiv1): ... to here. * inc/typeinfo (__class_type_info): Move into __cxxabiv1 namespace. From-SVN: r32669