diff options
author | Tamas Berghammer <tberghammer@google.com> | 2017-05-24 11:21:34 +0000 |
---|---|---|
committer | Tamas Berghammer <tberghammer@google.com> | 2017-05-24 11:21:34 +0000 |
commit | 413296b7c32e09b1e01c21bca714c80003f4f499 (patch) | |
tree | a9e78ad42c7f75a7a71bd2230cc564e81b908f3c /test | |
parent | 0a91f7ab6633790706437fd2e76d31939aeb0025 (diff) |
__cxa_demangle: Fix constructor cv qualifier handling
Summary:
Previously if we parsed a constructor then we set parsed_ctor_dtor_cv
to true and never reseted it. This causes issue when a template argument
references a constructor (e.g. type of lambda defined inside a
constructor) as we will have the parsed_ctor_dtor_cv flag set what will
cause issues when parsing later arguments.
Reviewers: EricWF, compnerd
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D33385
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@303737 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/test_demangle.pass.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/test/test_demangle.pass.cpp b/test/test_demangle.pass.cpp index cd50988..9e4a008 100644 --- a/test/test_demangle.pass.cpp +++ b/test/test_demangle.pass.cpp @@ -29500,6 +29500,7 @@ const char* cases[][2] = {"_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)"}, |