Bug 29258 - c++filt produces inconsistent output
Summary: c++filt produces inconsistent output
Status: RESOLVED INVALID
Alias: None
Product: binutils
Classification: Unclassified
Component: binutils (show other bugs)
Version: 2.38
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-16 16:49 UTC by Erik Schnetter
Modified: 2022-06-16 23:00 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Erik Schnetter 2022-06-16 16:49:19 UTC
This command:

./view/bin/c++filt _ZZN5Arith4fmapIZN3Z4c8z4c_varsINS_4simdIdEEEC1EbRKS4_S7_S7_S7_S7_S7_RKNS_3vecIS4_Li3ELNS_6dnup_tE0EEERKNS_4gmatIS4_Li3ELS9_0ELS9_0ELNS_6symm_tE1EEESH_RKNSD_ISA_Li3ELS9_0ELS9_0ELSE_1EEERKNSD_ISF_Li3ELS9_0ELS9_0ELSE_1EEES7_SC_SH_SK_RKNS8_IS4_Li3ELS9_1EEERKNS8_ISA_Li3ELS9_1EEES7_SC_S7_SC_SH_SQ_ST_RKNS8_ISF_Li3ELS9_1EEES7_SC_SH_EUliiE4_JiES4_EENS_4vectIT1_Li6EEERKT_RKNSY_IiLi6EEEDpRKNSY_IT0_Li6EEEENKUliE_clEi

with

$ ./view/bin/c++filt --version
GNU c++filt (GNU Binutils) 2.38
Copyright (C) 2022 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.

produces the output

Arith::fmap<Z4c::z4c_vars<Arith::simd<double> >::z4c_vars(bool, Arith::simd<double> const&, Arith::simd<double> const&, Arith::simd<double> const&, Arith::simd<double> const&, Arith::simd<double> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::gmat<Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::gmat<Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::gmat<Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)1> const&, Arith::vec<Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0>, 3, (Arith::dnup_t)1> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)1> const&, Arith::vec<Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0>, 3, (Arith::dnup_t)1> const&, Arith::vec<Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1>, 3, (Arith::dnup_t)1> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&)::{lambda(int, int)#6}, int, Arith::simd<double> >(Z4c::z4c_vars<Arith::simd<double> >::z4c_vars(bool, Arith::simd<double> const&, Arith::simd<double> const&, Arith::simd<double> const&, Arith::simd<double> const&, Arith::simd<double> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::gmat<Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::gmat<Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::gmat<Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)1> const&, Arith::vec<Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0>, 3, (Arith::dnup_t)1> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)1> const&, Arith::vec<Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0>, 3, (Arith::dnup_t)1> const&, Arith::vec<Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1>, 3, (Arith::dnup_t)1> const&, Arith::simd<double> const&, Arith::vec<Arith::simd<double>, 3, (Arith::dnup_t)0> const&, Arith::gmat<Arith::simd<double>, 3, (Arith::dnup_t)0, (Arith::dnup_t)0, (Arith::symm_t)1> const&)::{lambda(int, int)#6} const&, Arith::vect<int, 6> const&, Arith::vect<int, 6> const&)::{lambda(int)#1}::operator()(int) const

which has an unbalanced number of parentheses. It lacks at least the final, closing parenthesis, and possibly more output.
Comment 1 Alan Modra 2022-06-16 23:00:30 UTC
There are 96 open parentheses '(' and 96 close parentheses ')' in that c++filt output.