c++filt can't demangle _ZN3foocvPT_I3barEEv (returned from clang). The problem seems related to the "T_" parameter - the name is demangled properly if "T_" is replaced with "S_". See also http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-February/027965.html Tested with versions 2.22 and 2.23.51.20130211 on Ubuntu 12.04 (64 bit): $ ./cxxfilt _ZN3foocvPT_I3barEEv _ZN3foocvPT_I3barEEv
Confirmed fixed in trunk.
Closing as fixed. I get: $ c++filt _ZN3foocvPT_I3barEEv foo::operator bar*<bar>()