[Bug demangler/86152] New: Failure to demange clone names with digits
terra at gnome dot org
gcc-bugzilla@gcc.gnu.org
Thu Jun 14 14:25:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86152
Bug ID: 86152
Summary: Failure to demange clone names with digits
Product: gcc
Version: 8.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: demangler
Assignee: unassigned at gcc dot gnu.org
Reporter: terra at gnome dot org
Target Milestone: ---
See https://sourceware.org/bugzilla/show_bug.cgi?id=23283
which is the same issue filed for gdb.
There is a patch over there too.
The demangler fails to demangle the symbol names that gcc generates
when using, e.g., __attribute__((target("avx2"))). The trigger of
the problem is the digit.
welinder@dicentra:~> echo _Z3foov.avx2 | c++filt
_Z3foov.avx2
welinder@dicentra:~> echo _Z3foov.avx | c++filt
foo() [clone .avx]
welinder@dicentra:~> echo _Z3foov.mooooo | c++filt
foo() [clone .mooooo]
welinder@dicentra:~> echo _Z3foov.mooooo2 | c++filt
_Z3foov.mooooo2
Sample code that triggers the problem is below. Only the default and avx
versions are demangled correctly. This affects breakpoints in gdb.
__attribute__((target("default"))) inline int foo() { return 0; }
__attribute__((target("sse2"))) inline int foo() { return 1; }
__attribute__((target("avx"))) inline int foo() { return 2; }
__attribute__((target("avx2"))) inline int foo() { return 3; }
__attribute__((target("avx512f"))) inline int foo() { return 4; }
More information about the Gcc-bugs
mailing list