This revision was automatically updated to reflect the committed changes.
Closed by commit rL303737: __cxa_demangle: Fix constructor cv qualifier 
handling (authored by tberghammer).

Changed prior to commit:
  https://reviews.llvm.org/D33385?vs=99694&id=100067#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D33385

Files:
  libcxxabi/trunk/src/cxa_demangle.cpp
  libcxxabi/trunk/test/test_demangle.pass.cpp


Index: libcxxabi/trunk/test/test_demangle.pass.cpp
===================================================================
--- libcxxabi/trunk/test/test_demangle.pass.cpp
+++ libcxxabi/trunk/test/test_demangle.pass.cpp
@@ -29500,6 +29500,7 @@
     {"_ZZ2f6vE1b", "f6()::b"},
     {"_ZNV3$_35test9Ev", "$_3::test9() volatile"},
     {"_ZN5Test8I3$_2EC1ES0_", "Test8<$_2>::Test8($_2)"},
+    {"_Z3fooIZN3BarC1EvE3$_0EvT_", "void 
foo<Bar::Bar()::$_0>(Bar::Bar()::$_0)"},
     {"_ZGVZN1N1gEvE1a", "guard variable for N::g()::a"},
     {"_ZplRK1YRA100_P1X", "operator+(Y const&, X* (&) [100])"},
     {"_Z1fno", "f(__int128, unsigned __int128)"},
Index: libcxxabi/trunk/src/cxa_demangle.cpp
===================================================================
--- libcxxabi/trunk/src/cxa_demangle.cpp
+++ libcxxabi/trunk/src/cxa_demangle.cpp
@@ -4571,6 +4571,8 @@
         save_value<decltype(db.tag_templates)> sb(db.tag_templates);
         if (db.encoding_depth > 1)
             db.tag_templates = true;
+        save_value<decltype(db.parsed_ctor_dtor_cv)> 
sp(db.parsed_ctor_dtor_cv);
+        db.parsed_ctor_dtor_cv = false;
         switch (*first)
         {
         case 'G':


Index: libcxxabi/trunk/test/test_demangle.pass.cpp
===================================================================
--- libcxxabi/trunk/test/test_demangle.pass.cpp
+++ libcxxabi/trunk/test/test_demangle.pass.cpp
@@ -29500,6 +29500,7 @@
     {"_ZZ2f6vE1b", "f6()::b"},
     {"_ZNV3$_35test9Ev", "$_3::test9() volatile"},
     {"_ZN5Test8I3$_2EC1ES0_", "Test8<$_2>::Test8($_2)"},
+    {"_Z3fooIZN3BarC1EvE3$_0EvT_", "void foo<Bar::Bar()::$_0>(Bar::Bar()::$_0)"},
     {"_ZGVZN1N1gEvE1a", "guard variable for N::g()::a"},
     {"_ZplRK1YRA100_P1X", "operator+(Y const&, X* (&) [100])"},
     {"_Z1fno", "f(__int128, unsigned __int128)"},
Index: libcxxabi/trunk/src/cxa_demangle.cpp
===================================================================
--- libcxxabi/trunk/src/cxa_demangle.cpp
+++ libcxxabi/trunk/src/cxa_demangle.cpp
@@ -4571,6 +4571,8 @@
         save_value<decltype(db.tag_templates)> sb(db.tag_templates);
         if (db.encoding_depth > 1)
             db.tag_templates = true;
+        save_value<decltype(db.parsed_ctor_dtor_cv)> sp(db.parsed_ctor_dtor_cv);
+        db.parsed_ctor_dtor_cv = false;
         switch (*first)
         {
         case 'G':
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to