aboutsummaryrefslogtreecommitdiff
path: root/libiberty/testsuite/demangle-expected
diff options
context:
space:
mode:
Diffstat (limited to 'libiberty/testsuite/demangle-expected')
-rw-r--r--libiberty/testsuite/demangle-expected15
1 files changed, 13 insertions, 2 deletions
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index bfe9253..bb90aa0 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -2889,10 +2889,21 @@ _Z1fP1cIPFiiEE
f(c<int (*)(int)>*)
#
# This caused an infinite loop.
-# We still don't demangle this correctly, but at least we don't hang.
+#
+# This is generated by an EDG compiler (kcc 4.0). To demangle it
+# correctly, I believe that we have to understand that the J37J deep
+# in the string somehow refers back to the type starting 37 characters
+# in from some starting point, so that it winds up being the type
+# starting with 41THandle.... However, lacking a spec for EDG
+# demangling, it's hard to implement this.
+#
+# In the meantime, this symbol can be successfully demangled in GNU
+# mode. Of course the result is more or less nonsense, but an older
+# version of g++ would indeed generate this mangled name given the
+# appropriate input, so the demangling is correct.
--format=auto
__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm__7_Z1ZZ2Z8iterator
-__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm__7_Z1ZZ2Z8iterator
+_Z1ZZ2Z::__CPR212____ct__Q3_3std141list__tm__128_Q2_3edm41THandle__tm__26_Q2_4emid15EMparticleChunkQ2_3std68allocator__tm__51_Q2_3edmJ37J14const_iteratorFRCQ3_3std18list__tm(iterator)
#
# This used to cause a crash. It doesn't follow the C++ encoding so
# the demangled name should be identical to the original symbol name.