diff options
author | Jim Blandy <jimb@codesourcery.com> | 2001-03-20 18:22:38 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2001-03-20 18:22:38 +0000 |
commit | e61231f1142d606283858b7e168d2b468c662ac5 (patch) | |
tree | 318480b948ab2f727b8d6df4cf84af7092e002c2 /include | |
parent | b0ed35899ae041089835beeb35336494bb50f1d8 (diff) | |
download | gdb-e61231f1142d606283858b7e168d2b468c662ac5.zip gdb-e61231f1142d606283858b7e168d2b468c662ac5.tar.gz gdb-e61231f1142d606283858b7e168d2b468c662ac5.tar.bz2 |
* libiberty/cp-demangle.c (struct demangling_def): New fields:
is_constructor and is_destructor.
(demangling_new): Initialize them.
(demangle_ctor_dtor_name): Set them, if we detect a constructor
or destructor.
(demangle_v3_with_details, is_gnu_v3_mangled_ctor,
is_gnu_v3_mangled_dtor): New functions.
* include/demangle.h (enum gnu_v3_constructor_kinds,
is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds,
is_gnu_v3_mangled_dtor): New declarations.
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 6 | ||||
-rw-r--r-- | include/demangle.h | 26 |
2 files changed, 32 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index e118fbe..2c5bc85 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2001-03-20 Jim Blandy <jimb@redhat.com> + + * demangle.h (enum gnu_v3_constructor_kinds, + is_gnu_v3_mangled_ctor, enum gnu_v3_destructor_kinds, + is_gnu_v3_mangled_dtor): New declarations. + 2001-03-14 Nick Clifton <nickc@redhat.com> * ansidecl.h: Fix copyright dates. diff --git a/include/demangle.h b/include/demangle.h index 9cb1d96..96f60d7 100644 --- a/include/demangle.h +++ b/include/demangle.h @@ -128,4 +128,30 @@ cplus_demangle_v3 PARAMS ((const char* mangled)); extern char* java_demangle_v3 PARAMS ((const char* mangled)); + +enum gnu_v3_ctor_kinds { + gnu_v3_complete_object_ctor = 1, + gnu_v3_base_object_ctor, + gnu_v3_complete_object_allocating_ctor +}; + +/* Return non-zero iff NAME is the mangled form of a constructor name + in the G++ V3 ABI demangling style. Specifically, return an `enum + gnu_v3_ctor_kinds' value indicating what kind of constructor + it is. */ +extern enum gnu_v3_ctor_kinds is_gnu_v3_mangled_ctor (const char *name); + + +enum gnu_v3_dtor_kinds { + gnu_v3_deleting_dtor = 1, + gnu_v3_complete_object_dtor, + gnu_v3_base_object_dtor +}; + +/* Return non-zero iff NAME is the mangled form of a destructor name + in the G++ V3 ABI demangling style. Specifically, return an `enum + gnu_v3_dtor_kinds' value, indicating what kind of destructor + it is. */ +extern enum gnu_v3_dtor_kinds is_gnu_v3_mangled_dtor (const char *name); + #endif /* DEMANGLE_H */ |