The following code produces a bad mangled name (or at least a mangled name that
c++filt cannot handle):

template <typename F> class C { public: C(); };
class D
{
public:
 template <typename F>
 operator C<F>() { return C<F>(); }
};
C<bool> foo(D* p) { return *p; }

The final line produces the symbol ZN1Dcv1CIT_EIbEEv.  c++filt cannot demangle
it.

Below is


-- 
           Summary: GCC produces mangled names which can't be demangled
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: meheff at gcc dot gnu dot org
 GCC build triplet: i686-unknown-linux
  GCC host triplet: i686-unknown-linux
GCC target triplet: i686-unknown-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37677

Reply via email to