From 7b63760eb6741acb1a7961eed739f52599075cd7 Mon Sep 17 00:00:00 2001 From: C Date: Sun, 22 May 2011 02:56:42 +0700 Subject: Revert "Fix name of cxa_demangle" This reverts commit e570abd1be043334a4a7ce1ad8edf0d593cc4d57. --- src/cxa_demangle.cc | 160 ---------------------------------------------------- src/cxa_demangle.h | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 160 insertions(+), 160 deletions(-) delete mode 100644 src/cxa_demangle.cc create mode 100644 src/cxa_demangle.h diff --git a/src/cxa_demangle.cc b/src/cxa_demangle.cc deleted file mode 100644 index 4017834..0000000 --- a/src/cxa_demangle.cc +++ /dev/null @@ -1,160 +0,0 @@ -//===-------------------------- cxa_demangle.h ----------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef _CXA_DEMANGLE_H -#define _CXA_DEMANGLE_H - -//#include - -namespace __cxxabiv1 -{ - -namespace __libcxxabi -{ - -struct __demangle_tree; -class __node; - -char* -__demangle(__demangle_tree, char*, size_t*, int*); - -struct __demangle_tree_rv -{ - __demangle_tree* ptr_; - - explicit __demangle_tree_rv(__demangle_tree* ptr) - : ptr_(ptr) {} -}; - -class __demangle_tree -{ - const char* __mangled_name_begin_; - const char* __mangled_name_end_; - int __status_; - __node* __root_; - __node* __node_begin_; - __node* __node_end_; - __node* __node_cap_; - __node** __sub_begin_; - __node** __sub_end_; - __node** __sub_cap_; - __node** __t_begin_; - __node** __t_end_; - __node** __t_cap_; - bool __tag_templates_; - bool __fix_forward_references_; - bool __owns_buf_; - - __demangle_tree& operator=(const __demangle_tree&); -public: - __demangle_tree(const char*, char*, size_t); - ~__demangle_tree(); - - __demangle_tree(__demangle_tree&); - __demangle_tree(__demangle_tree_rv); - operator __demangle_tree_rv() {return __demangle_tree_rv(this);} - - int __status() const; - size_t size() const; - char* __get_demangled_name(char*) const; - - void __parse(); - -private: - const char* __parse_encoding(const char*, const char*); - const char* __parse_type(const char*, const char*, - bool = true, bool = false); - const char* __parse_special_name(const char*, const char*); - const char* __parse_name(const char*, const char*); - const char* __parse_bare_function_type(const char*, const char*); - const char* __parse_call_offset(const char*, const char*); - const char* __parse_number(const char*, const char*); - const char* __parse_cv_qualifiers(const char* first, const char* last, - unsigned& cv, bool = false); - const char* __parse_nested_name(const char*, const char*); - const char* __parse_discriminator(const char*, const char*); - const char* __parse_local_name(const char*, const char*); - const char* __parse_unscoped_template_name(const char*, const char*); - const char* __parse_unscoped_name(const char*, const char*); - const char* __parse_operator_name(const char*, const char*, int* = 0); - const char* __parse_unqualified_name(const char*, const char*); - const char* __parse_source_name(const char*, const char*); - const char* __parse_ctor_dtor_name(const char*, const char*); - const char* __parse_unnamed_type_name(const char*, const char*); - const char* __parse_template_args(const char*, const char*); - const char* __parse_template_arg(const char*, const char*); - const char* __parse_expression(const char*, const char*); - const char* __parse_expr_primary(const char*, const char*); - const char* __parse_substitution(const char*, const char*); - const char* __parse_builtin_type(const char*, const char*); - const char* __parse_function_type(const char*, const char*); - const char* __parse_class_enum_type(const char*, const char*); - const char* __parse_array_type(const char*, const char*); - const char* __parse_pointer_to_member_type(const char*, const char*); - const char* __parse_decltype(const char*, const char*); - const char* __parse_template_param(const char*, const char*); - const char* __parse_unresolved_name(const char*, const char*); - const char* __parse_unresolved_type(const char*, const char*); - const char* __parse_base_unresolved_name(const char*, const char*); - const char* __parse_simple_id(const char*, const char*); - const char* __parse_destructor_name(const char*, const char*); - const char* __parse_function_param(const char*, const char*); - const char* __parse_const_cast_expr(const char*, const char*); - const char* __parse_alignof_expr(const char*, const char*); - const char* __parse_call_expr(const char*, const char*); - const char* __parse_conversion_expr(const char*, const char*); - const char* __parse_delete_array_expr(const char*, const char*); - const char* __parse_delete_expr(const char*, const char*); - const char* __parse_dynamic_cast_expr(const char*, const char*); - const char* __parse_dot_star_expr(const char*, const char*); - const char* __parse_dot_expr(const char*, const char*); - const char* __parse_decrement_expr(const char*, const char*); - const char* __parse_new_expr(const char*, const char*); - const char* __parse_increment_expr(const char*, const char*); - const char* __parse_arrow_expr(const char*, const char*); - const char* __parse_reinterpret_cast_expr(const char*, const char*); - const char* __parse_static_cast_expr(const char*, const char*); - const char* __parse_sizeof_type_expr(const char*, const char*); - const char* __parse_sizeof_param_pack_expr(const char*, const char*); - const char* __parse_typeid_expr(const char*, const char*); - const char* __parse_throw_expr(const char*, const char*); - const char* __parse_pack_expansion(const char*, const char*); - const char* __parse_sizeof_function_param_pack_expr(const char*, const char*); - const char* __parse_dot_suffix(const char*, const char*); - const char* __parse_hex_number(const char*, const char*, unsigned long long&); - - template bool __make(); - template bool __make(_A0 __a0); - template bool __make(_A0 __a0, _A1 __a1); - template - bool __make(_A0 __a0, _A1 __a1, _A2 __a2); - template - bool __make(_A0 __a0, _A1 __a1, _A2 __a2, _A3 __a3); - template - bool __make(_A0 __a0, _A1 __a1, _A2 __a2, _A3 __a3, _A4 __a4); - template - bool __make(_A0 __a0, _A1 __a1, _A2 __a2, _A3 __a3, _A4 __a4, _A5 __a5); - - friend - char* - __demangle(__demangle_tree, char*, size_t*, int*); - -}; - -__demangle_tree -__demangle(const char*); - -__demangle_tree -__demangle(const char*, char*, size_t); - -} // __libcxxabi -} // __cxxabiv1 - -#endif // _CXA_DEMANGLE_H diff --git a/src/cxa_demangle.h b/src/cxa_demangle.h new file mode 100644 index 0000000..4017834 --- /dev/null +++ b/src/cxa_demangle.h @@ -0,0 +1,160 @@ +//===-------------------------- cxa_demangle.h ----------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef _CXA_DEMANGLE_H +#define _CXA_DEMANGLE_H + +//#include + +namespace __cxxabiv1 +{ + +namespace __libcxxabi +{ + +struct __demangle_tree; +class __node; + +char* +__demangle(__demangle_tree, char*, size_t*, int*); + +struct __demangle_tree_rv +{ + __demangle_tree* ptr_; + + explicit __demangle_tree_rv(__demangle_tree* ptr) + : ptr_(ptr) {} +}; + +class __demangle_tree +{ + const char* __mangled_name_begin_; + const char* __mangled_name_end_; + int __status_; + __node* __root_; + __node* __node_begin_; + __node* __node_end_; + __node* __node_cap_; + __node** __sub_begin_; + __node** __sub_end_; + __node** __sub_cap_; + __node** __t_begin_; + __node** __t_end_; + __node** __t_cap_; + bool __tag_templates_; + bool __fix_forward_references_; + bool __owns_buf_; + + __demangle_tree& operator=(const __demangle_tree&); +public: + __demangle_tree(const char*, char*, size_t); + ~__demangle_tree(); + + __demangle_tree(__demangle_tree&); + __demangle_tree(__demangle_tree_rv); + operator __demangle_tree_rv() {return __demangle_tree_rv(this);} + + int __status() const; + size_t size() const; + char* __get_demangled_name(char*) const; + + void __parse(); + +private: + const char* __parse_encoding(const char*, const char*); + const char* __parse_type(const char*, const char*, + bool = true, bool = false); + const char* __parse_special_name(const char*, const char*); + const char* __parse_name(const char*, const char*); + const char* __parse_bare_function_type(const char*, const char*); + const char* __parse_call_offset(const char*, const char*); + const char* __parse_number(const char*, const char*); + const char* __parse_cv_qualifiers(const char* first, const char* last, + unsigned& cv, bool = false); + const char* __parse_nested_name(const char*, const char*); + const char* __parse_discriminator(const char*, const char*); + const char* __parse_local_name(const char*, const char*); + const char* __parse_unscoped_template_name(const char*, const char*); + const char* __parse_unscoped_name(const char*, const char*); + const char* __parse_operator_name(const char*, const char*, int* = 0); + const char* __parse_unqualified_name(const char*, const char*); + const char* __parse_source_name(const char*, const char*); + const char* __parse_ctor_dtor_name(const char*, const char*); + const char* __parse_unnamed_type_name(const char*, const char*); + const char* __parse_template_args(const char*, const char*); + const char* __parse_template_arg(const char*, const char*); + const char* __parse_expression(const char*, const char*); + const char* __parse_expr_primary(const char*, const char*); + const char* __parse_substitution(const char*, const char*); + const char* __parse_builtin_type(const char*, const char*); + const char* __parse_function_type(const char*, const char*); + const char* __parse_class_enum_type(const char*, const char*); + const char* __parse_array_type(const char*, const char*); + const char* __parse_pointer_to_member_type(const char*, const char*); + const char* __parse_decltype(const char*, const char*); + const char* __parse_template_param(const char*, const char*); + const char* __parse_unresolved_name(const char*, const char*); + const char* __parse_unresolved_type(const char*, const char*); + const char* __parse_base_unresolved_name(const char*, const char*); + const char* __parse_simple_id(const char*, const char*); + const char* __parse_destructor_name(const char*, const char*); + const char* __parse_function_param(const char*, const char*); + const char* __parse_const_cast_expr(const char*, const char*); + const char* __parse_alignof_expr(const char*, const char*); + const char* __parse_call_expr(const char*, const char*); + const char* __parse_conversion_expr(const char*, const char*); + const char* __parse_delete_array_expr(const char*, const char*); + const char* __parse_delete_expr(const char*, const char*); + const char* __parse_dynamic_cast_expr(const char*, const char*); + const char* __parse_dot_star_expr(const char*, const char*); + const char* __parse_dot_expr(const char*, const char*); + const char* __parse_decrement_expr(const char*, const char*); + const char* __parse_new_expr(const char*, const char*); + const char* __parse_increment_expr(const char*, const char*); + const char* __parse_arrow_expr(const char*, const char*); + const char* __parse_reinterpret_cast_expr(const char*, const char*); + const char* __parse_static_cast_expr(const char*, const char*); + const char* __parse_sizeof_type_expr(const char*, const char*); + const char* __parse_sizeof_param_pack_expr(const char*, const char*); + const char* __parse_typeid_expr(const char*, const char*); + const char* __parse_throw_expr(const char*, const char*); + const char* __parse_pack_expansion(const char*, const char*); + const char* __parse_sizeof_function_param_pack_expr(const char*, const char*); + const char* __parse_dot_suffix(const char*, const char*); + const char* __parse_hex_number(const char*, const char*, unsigned long long&); + + template bool __make(); + template bool __make(_A0 __a0); + template bool __make(_A0 __a0, _A1 __a1); + template + bool __make(_A0 __a0, _A1 __a1, _A2 __a2); + template + bool __make(_A0 __a0, _A1 __a1, _A2 __a2, _A3 __a3); + template + bool __make(_A0 __a0, _A1 __a1, _A2 __a2, _A3 __a3, _A4 __a4); + template + bool __make(_A0 __a0, _A1 __a1, _A2 __a2, _A3 __a3, _A4 __a4, _A5 __a5); + + friend + char* + __demangle(__demangle_tree, char*, size_t*, int*); + +}; + +__demangle_tree +__demangle(const char*); + +__demangle_tree +__demangle(const char*, char*, size_t); + +} // __libcxxabi +} // __cxxabiv1 + +#endif // _CXA_DEMANGLE_H -- cgit v1.2.3