This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/13447] Another demangler problem with method cv-qualifiers
- From: "drow at mvista dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 19 Dec 2003 16:25:12 -0000
- Subject: [Bug c++/13447] Another demangler problem with method cv-qualifiers
- References: <20031219155953.13447.drow@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From drow at mvista dot com 2003-12-19 16:25 -------
Subject: Re: New: Another demangler problem with method cv-qualifiers
On Fri, Dec 19, 2003 at 11:10:25AM -0500, Ian Lance Taylor wrote:
> I agree that something seems to be wrong. However, I'm currently
> confused by the placement of qualifiers in complex cases, so I'm not
> sure how to correctly resolve this.
I am somewhat confused also. I've just made my parser recognize types and
variables nested within functions, which is a common demangler output
and nonsensical C++.
> It might help if you provided the C++ source code which generates this
> mangled name.
It came from Michael Chastain's list of mangled names. Here's another
example which shows the same problem however:
struct Foo { Foo() { } };
template<typename B> void BBd () {
static Foo foo;
struct Fob {
public:
Fob() { }
int Fab() const { }
};
static Fob fob;
fob.Fab();
}
template<typename B> class BB {
public:
BB() { static Foo foo; BBc (); BBd<B> (); }
int BBc() { static Foo foo; }
};
BB<Foo> obj;
The item of interest is:
0000002a t void BBd<Foo>()::Fob::Fab const()
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13447