[cfe-dev] How to demangle _ZN3foocvPT_I3barEEv?

Jean-Daniel Dupas devlists at shadowlab.org
Mon Feb 11 07:12:29 PST 2013


Le 11 févr. 2013 à 15:53, Olivier Goffart <ogoffart at kde.org> a écrit :

> On Monday 11 February 2013 14:06:45 fakju666 wrote:
>> Can anyone tell me what this is supposed to demangle to:
>> 
>> _ZN3foocvPT_I3barEEv
>> 
>> I got this in a call graph generated by opt, and this is the only name that
>> c++filt can't process. I think the problem is with the "T_" identifier,
>> because c++filt is happy if I replace it with "S_":
>> 
>> foo::operator foo<bar>*()
> 
> Could it be something like:
> 
> template<template<typename S> class T> 
> foo<T>::operator T<bar>*()
> 
> "T_" seems to indicate a template dependent name.
> I don't know where you got that symbol from.
> 

Just a guess, but usually, C++ symbols start with a double '_'.  

c++filt __ZN3foocvPT_I3barEEv

foo::operator bar*<bar>()


-- Jean-Daniel








More information about the cfe-dev mailing list