This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug demangler/79976] long list of demangle failures
- From: "trippels at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 13 Mar 2017 08:55:51 +0000
- Subject: [Bug demangler/79976] long list of demangle failures
- Auto-submitted: auto-generated
- References: <bug-79976-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79976
--- Comment #7 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
One big chunk of failures is due to the following:
markus@x4 tmp % cat mangl.ii
struct C;
template <class T> struct B {
template <class U> operator B<U>();
T *operator->();
};
struct D {
B<C> tmp;
template <class T> void m_fn1(T p1) { tmp = p1; }
};
struct E;
void fn1() {
B<D> l;
B<E> m;
l->m_fn1(m);
}
markus@x4 tmp % g++ -O2 -c mangl.ii && nm -C mangl.o
0000000000000000 T fn1()
U B<D>::operator->()
U _ZN1BI1EEcvS_IT_EI1CEEv
markus@x4 tmp % llvm-cxxfilt _ZN1BI1EEcvS_IT_EI1CEEv
B<E>::operator B<C><C>()
The second <C> in "B<C><C>" is not handled.