This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/70182] c++filt fails to demangle _ZNSt17_Function_handlerIFSt4pairImjEjEZN5folly12addBenchmarkI3$_0EENSt9enable_ifIXeqsr5boost14function_types14function_arityIDTadsrT_onclEEE5valueLi2EEvE4typeEPKcSC_OS7_EUljE_E9_M_invokeERKSt9_Any_dataj


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70182

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code

--- Comment #10 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Looks like:

diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c
index 5d38373765bb..9d04c35d1f62 100644
--- a/gcc/cp/mangle.c
+++ b/gcc/cp/mangle.c
@@ -2653,6 +2653,8 @@ write_template_args (tree args)
 static void
 write_member_name (tree member)
 {
+  if (IDENTIFIER_OPNAME_P (member))
+    write_string ("on");
   if (identifier_p (member))
     write_unqualified_id (member);
   else if (DECL_P (member))

might actually work. 
But g++.dg/dfp/mangle-1.C, g++.dg/abi/mangle13.C and g++.dg/abi/mangle37.C
would need adjustments.

Jason?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]