aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2005-02-13 06:58:20 +0000
committerJason Merrill <jason@redhat.com>2005-02-13 06:58:20 +0000
commita8bde8da561c916841a3442ccc7b6a0c6554cd3e (patch)
treecc46523e112e92a12adf22e91d99cf7ea1d362ca
parent85611153654f543a0f93071624b2f6dfd68734ba (diff)
* cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
arguments. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@94980 138bc75d-0d04-0410-961f-82ee72b054a4
-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 adbb2498124..1d801adf38f 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 5707aa20aa2..c4436d7d7d5 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)