]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cp-demangle.c (__cxa_demangle): Change resolution of ambiguous arguments.
authorJason Merrill <jason@redhat.com>
Sun, 13 Feb 2005 07:21:41 +0000 (02:21 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Sun, 13 Feb 2005 07:21:41 +0000 (02:21 -0500)
        * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
        arguments.

From-SVN: r94981

libiberty/ChangeLog
libiberty/cp-demangle.c

index 698e9a7fe98a51af75b29ab3ef2c0e946eec5795..a23ba90aa634dafa528ffc8664fec431fea96f34 100644 (file)
@@ -1,3 +1,8 @@
+2005-02-13  Jason Merrill  <jason@redhat.com>
+
+       * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous
+       arguments.
+
 2004-11-04  Release Manager
 
        * GCC 3.4.3 released.
index fe4b36712d35da9798d59f9e8da8e8155c8f3793..59e561df09bcc96746ccff4bac1f26088111c52c 100644 (file)
@@ -4048,21 +4048,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)