eugene created this revision. eugene added a reviewer: labath. Now incorrect type argument that looks like T<A><B> doesn't cause an assert, but just a parsing error.
Bug: 36224 https://reviews.llvm.org/D42939 Files: source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp Index: unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp =================================================================== --- unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp +++ unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp @@ -160,4 +160,6 @@ "selector:otherField:", context, basename)); EXPECT_FALSE(CPlusPlusLanguage::ExtractContextAndIdentifier( "abc::", context, basename)); + EXPECT_FALSE(CPlusPlusLanguage::ExtractContextAndIdentifier( + "f<A<B><C>>", context, basename)); } Index: source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp =================================================================== --- source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp +++ source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp @@ -242,8 +242,7 @@ } } - assert(template_counter >= 0); - if (template_counter > 0) { + if (template_counter != 0) { return false; } start_position.Remove();
Index: unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp =================================================================== --- unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp +++ unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp @@ -160,4 +160,6 @@ "selector:otherField:", context, basename)); EXPECT_FALSE(CPlusPlusLanguage::ExtractContextAndIdentifier( "abc::", context, basename)); + EXPECT_FALSE(CPlusPlusLanguage::ExtractContextAndIdentifier( + "f<A<B><C>>", context, basename)); } Index: source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp =================================================================== --- source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp +++ source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp @@ -242,8 +242,7 @@ } } - assert(template_counter >= 0); - if (template_counter > 0) { + if (template_counter != 0) { return false; } start_position.Remove();
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits