merge from gcc
authorDJ Delorie <dj@redhat.com>
Thu, 8 Mar 2012 00:01:31 +0000 (00:01 +0000)
committerDJ Delorie <dj@redhat.com>
Thu, 8 Mar 2012 00:01:31 +0000 (00:01 +0000)
include/ChangeLog
libiberty/ChangeLog
libiberty/cp-demangle.c
libiberty/testsuite/demangle-expected

index da939f1..e722835 100644 (file)
@@ -1,3 +1,9 @@
+2009-11-06  Jonas Maebe  <jonas.maebe@elis.ugent.be>
+
+       Add DWARF attribute value for the "Borland fastcall" calling
+       convention.
+       * elf/dwarf2.h: Add DW_CC_GNU_borland_fastcall_i386 constant.
+
 2012-01-31  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/13616
index 5f492cc..97bdfed 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-07  Jason Merrill  <jason@redhat.com>
+
+       * cp-demangle.c (cplus_demangle_operators): Add li.
+       (d_unqualified_name): Handle it specially.
+
 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
 
        * make-relative-prefix.c (make_relative_prefix_1): Avoid warning
index 18b84a1..2b3d182 100644 (file)
@@ -1419,7 +1419,12 @@ d_unqualified_name (struct d_info *di)
 
       ret = d_operator_name (di);
       if (ret != NULL && ret->type == DEMANGLE_COMPONENT_OPERATOR)
-       di->expansion += sizeof "operator" + ret->u.s_operator.op->len - 2;
+       {
+         di->expansion += sizeof "operator" + ret->u.s_operator.op->len - 2;
+         if (!strcmp (ret->u.s_operator.op->code, "li"))
+           ret = d_make_comp (di, DEMANGLE_COMPONENT_UNARY, ret,
+                              d_source_name (di));
+       }
       return ret;
     }
   else if (peek == 'C' || peek == 'D')
@@ -1596,6 +1601,7 @@ const struct demangle_operator_info cplus_demangle_operators[] =
   { "ix", NL ("[]"),        2 },
   { "lS", NL ("<<="),       2 },
   { "le", NL ("<="),        2 },
+  { "li", NL ("operator\"\" "), 1 },
   { "ls", NL ("<<"),        2 },
   { "lt", NL ("<"),         2 },
   { "mI", NL ("-="),        2 },
index 408c4f4..036c481 100644 (file)
@@ -4072,6 +4072,9 @@ decltype (g({parm#1}, {})) f1<int>(int)
 --format=gnu-v3
 _Z2f1IiEDTnw_T_ilEES0_
 decltype (new int{}) f1<int>(int)
+--format=gnu-v3
+_Zli2_wPKc
+operator"" _w(char const*)
 #
 # Ada (GNAT) tests.
 #