Re: Expected output of gdb.cp/no-dmgl-verbose.exp

Keith Seitz via Gdb <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <[email protected]>
On 4/12/21 11:16 AM, Luis Machado via Gdb wrote:
> I'm trying to determine why this particular test is failing (for both
> aarch64-linux and x86_64-linux on Ubuntu 18.04/20.04) and what the
> expected outcome is.
> 
> In my case, the only symbol I see for function "f" is the following:
> 
> "f(std::__cxx11::basic_string<char, std::char_traits<char>,
> std::allocator<char> >)"
> 
> There is no "f(std::string)" nor "f(std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >)" symbol.
> 

Wow, such a long time ago! IIRC...

This test was written to ensure that "std::string" was used
instead of "std::basic_string<...>" (which is now called something
else again). Something about "that's what nm and other tools tell users,
so we should not mention the symbol's real (linkage) name, either."

The "no-dmgl-verbose" refers to the DMGL_VERBOSE option
of the demangler, which does this.

There is even special logic in our typedef-replacing machinery to
enforce this. [NOTE: `ignore_typedefs' in cp-support.c is also "out-
of-date" wrt to this naming change. So none of that has likely been
"working" for many years, but then at very quick glance, "nm -C" doesn't
do this anymore, either.]

I was against it then, so I certainly do not mind getting rid of this test
or limiting it to C++ installations that typedef the "older" std::basic_string<...>
to std::string.

Keith
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.