Index: src/cxa_demangle.cpp =================================================================== --- src/cxa_demangle.cpp +++ src/cxa_demangle.cpp @@ -2425,7 +2425,8 @@ first += 2; break; case 't': - db.names.push_back("operator>"); + // Add extra space and avoid collisions with templates. + db.names.push_back("operator> "); first += 2; break; } Index: test/test_demangle.cpp =================================================================== --- test/test_demangle.cpp +++ test/test_demangle.cpp @@ -21,6 +21,7 @@ {"_Z1A1B1C", "A(B, C)"}, {"_Z4testI1A1BE1Cv", "C test()"}, {"_Z4testI1A1BET0_T_S3_", "B test(A, A)"}, + {"_ZN1SgtEi", "S::operator> (int)"}, {"_ZN13dyldbootstrap5startEPK12macho_headeriPPKcl", "dyldbootstrap::start(macho_header const*, int, char const**, long)"}, {"_ZN4dyld17getExecutablePathEv", "dyld::getExecutablePath()"}, {"_ZN4dyld22mainExecutablePreboundEv", "dyld::mainExecutablePrebound()"},