Specifically disallow primary-expressions of the form LT_... on the basis of this decition: http://sourcerytools.com/pipermail/cxx-abi-dev/2011-August/002422.html . Failure to disallow this was causing infinite recursion in the demangler when these symbols show up due to mangling bugs. This patch causes the demangler to return an invalid mangled name result rather than crash in infinite recursion.

llvm-svn: 163859
This commit is contained in:
Howard Hinnant
2012-09-13 23:49:59 +00:00
parent c7203ba19c
commit 6aa048efc9

View File

@@ -6914,6 +6914,10 @@ __demangle_tree::__parse_expr_primary(const char* first, const char* last)
first = t+1;
}
break;
case 'T':
// Invalid mangled name per
// http://sourcerytools.com/pipermail/cxx-abi-dev/2011-August/002422.html
break;
default:
{
// might be named type