aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2005-02-13 06:58:55 +0000
committerJason Merrill <jason@redhat.com>2005-02-13 06:58:55 +0000
commitaca9a742412283942e03eab72a639414dc191e1d (patch)
tree4d8aa854529304062e6a0b1d31d07b87306e5e4c
parenteed51203841011a8d8d8aa437c54b85e79a60513 (diff)
downloadgdb-aca9a742412283942e03eab72a639414dc191e1d.zip
gdb-aca9a742412283942e03eab72a639414dc191e1d.tar.gz
gdb-aca9a742412283942e03eab72a639414dc191e1d.tar.bz2
* cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
arguments.
-rw-r--r--libiberty/ChangeLog5
-rw-r--r--libiberty/cp-demangle.c15
2 files changed, 5 insertions, 15 deletions
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index adbb249..1d801ad 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-13 Jason Merrill <jason@redhat.com>
+
+ * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
+ arguments.
+
2005-01-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
* hex.c (hex_value): Group 'unsigned int' together to get correct
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 5707aa2..c4436d7 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -4047,21 +4047,6 @@ __cxa_demangle (mangled_name, output_buffer, length, status)
return NULL;
}
- /* The specification for __cxa_demangle() is that if the mangled
- name could be either an extern "C" identifier, or an internal
- built-in type name, then we resolve it as the identifier. All
- internal built-in type names are a single lower case character.
- Frankly, this simplistic disambiguation doesn't make sense to me,
- but it is documented, so we implement it here. */
- if (IS_LOWER (mangled_name[0])
- && mangled_name[1] == '\0'
- && cplus_demangle_builtin_types[mangled_name[0] - 'a'].name != NULL)
- {
- if (status != NULL)
- *status = -2;
- return NULL;
- }
-
demangled = d_demangle (mangled_name, DMGL_PARAMS | DMGL_TYPES, &alc);
if (demangled == NULL)