Updated to latest and greatest demangler sources.

<rdar://problem/15736085>

llvm-svn: 199946
This commit is contained in:
Greg Clayton 2014-01-23 22:12:54 +00:00
parent 403edc5c57
commit 146b7b1230
1 changed files with 14 additions and 1 deletions

View File

@ -23,7 +23,7 @@
//---------------------------------------------------------------------- //----------------------------------------------------------------------
// Inlined copy of: // Inlined copy of:
// http://llvm.org/svn/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp // http://llvm.org/svn/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp
// revision 197169. // revision 199944.
// //
// Changes include: // Changes include:
// - remove the "__cxxabiv1" namespace // - remove the "__cxxabiv1" namespace
@ -2313,6 +2313,7 @@ parse_type(const char* first, const char* last, C& db)
// ::= gt # > // ::= gt # >
// ::= ix # [] // ::= ix # []
// ::= le # <= // ::= le # <=
// ::= li <source-name> # operator ""
// ::= ls # << // ::= ls # <<
// ::= lS # <<= // ::= lS # <<=
// ::= lt # < // ::= lt # <
@ -2474,6 +2475,18 @@ parse_operator_name(const char* first, const char* last, C& db)
db.names.push_back("operator<="); db.names.push_back("operator<=");
first += 2; first += 2;
break; break;
case 'i':
{
const char* t = parse_source_name(first+2, last, db);
if (t != first+2)
{
if (db.names.empty())
return first;
db.names.back().first.insert(0, "operator\"\" ");
first = t;
}
}
break;
case 's': case 's':
db.names.push_back("operator<<"); db.names.push_back("operator<<");
first += 2; first += 2;