[Bug c++/13447] Another demangler problem with method cv-qualifiers

drow at mvista dot com gcc-bugzilla@gcc.gnu.org
Fri Dec 19 16:37:00 GMT 2003


------- 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



More information about the Gcc-bugs mailing list