public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/3111: Demangler in libiberty.a is broken
@ 2001-06-10 17:26 carlo
  0 siblings, 0 replies; 7+ messages in thread
From: carlo @ 2001-06-10 17:26 UTC (permalink / raw)
  To: gcc-gnats

>Number:         3111
>Category:       c++
>Synopsis:       Demangler in libiberty.a is broken
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jun 10 17:26:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Carlo Wood
>Release:        3.0
>Organization:
>Environment:

>Description:
A qualifier 'K' results rather stupidly in a 'const'
being appended to whatever the following type.  The
demangler doesn't take into account that types exist
of a 'prefix' and a 'postfix' part, where the 'const'
needs to be added in between.

Example:

/usr/src/gcc/gcc-cvs-3.0/libiberty>gcc-3.0 -DSTANDALONE_DEMANGLER -I../include cp-demangle.c dyn-string.c xmalloc.c xexit.c -o c++filt
cp-demangle.c: In function `demangle_char':
cp-demangle.c:968: warning: assignment makes pointer from integer without a cast

/usr/src/gcc/gcc-cvs-3.0/libiberty>./c++filt _Z1fKPFiiE
f(int (*)(int) const)

Which should have been
f(int (* const)(int))

This could be considered as a regression from 2.95.3
as this does handle the 'C' qualifier correctly.
For example:

/usr/src/gcc/gcc-2.95.3/libiberty>../../gcc-2.95.3-objdir/gcc/c++filt __1ACPFi_i
A::A(int (*const)(int))
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/3111: Demangler in libiberty.a is broken
@ 2003-02-28  0:11 neroden
  0 siblings, 0 replies; 7+ messages in thread
From: neroden @ 2003-02-28  0:11 UTC (permalink / raw)
  To: bkoz, carlo, gcc-bugs, gcc-prs

Synopsis: Demangler in libiberty.a is broken

State-Changed-From-To: feedback->closed
State-Changed-By: neroden
State-Changed-When: Fri Feb 28 00:11:10 2003
State-Changed-Why:
    as stated

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3111


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/3111: Demangler in libiberty.a is broken
@ 2003-02-27 23:06 Carlo Wood
  0 siblings, 0 replies; 7+ messages in thread
From: Carlo Wood @ 2003-02-27 23:06 UTC (permalink / raw)
  To: bkoz; +Cc: gcc-prs

The following reply was made to PR c++/3111; it has been noted by GNATS.

From: Carlo Wood <carlo@alinoe.com>
To: bkoz@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
  gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/3111: Demangler in libiberty.a is broken
Date: Fri, 28 Feb 2003 00:01:17 +0100

 On Thu, Feb 27, 2003 at 07:30:59PM -0000, bkoz@gcc.gnu.org wrote:
 > Synopsis: Demangler in libiberty.a is broken
 > 
 > State-Changed-From-To: analyzed->feedback
 > State-Changed-By: bkoz
 > State-Changed-When: Thu Feb 27 19:30:59 2003
 > State-Changed-Why:
 >     Fixed in mainline.
 > 
 > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3111
 
 feedback?
 
 I am the one who filed this PR... you are not expecting
 feedback from me now do you? :)
 
 I think you can close it.
 
 -- 
 Carlo Wood <carlo@alinoe.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/3111: Demangler in libiberty.a is broken
@ 2003-02-27 19:31 bkoz
  0 siblings, 0 replies; 7+ messages in thread
From: bkoz @ 2003-02-27 19:31 UTC (permalink / raw)
  To: bkoz, carlo, gcc-bugs, gcc-prs

Synopsis: Demangler in libiberty.a is broken

State-Changed-From-To: analyzed->feedback
State-Changed-By: bkoz
State-Changed-When: Thu Feb 27 19:30:59 2003
State-Changed-Why:
    Fixed in mainline.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3111


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/3111: Demangler in libiberty.a is broken
@ 2003-02-26 18:11 bkoz
  0 siblings, 0 replies; 7+ messages in thread
From: bkoz @ 2003-02-26 18:11 UTC (permalink / raw)
  To: bkoz, carlo, gcc-bugs, gcc-prs, nobody

Synopsis: Demangler in libiberty.a is broken

Responsible-Changed-From-To: unassigned->bkoz
Responsible-Changed-By: bkoz
Responsible-Changed-When: Wed Feb 26 18:11:23 2003
Responsible-Changed-Why:
    Mine.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3111


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/3111: Demangler in libiberty.a is broken
@ 2002-04-26  3:33 nathan
  0 siblings, 0 replies; 7+ messages in thread
From: nathan @ 2002-04-26  3:33 UTC (permalink / raw)
  To: carlo, gcc-bugs, gcc-prs, nobody

Synopsis: Demangler in libiberty.a is broken

State-Changed-From-To: open->analyzed
State-Changed-By: nathan
State-Changed-When: Fri Apr 26 03:33:17 2002
State-Changed-Why:
    yup

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=3111


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: c++/3111: Demangler in libiberty.a is broken
@ 2001-06-15  9:36 Carlo Wood
  0 siblings, 0 replies; 7+ messages in thread
From: Carlo Wood @ 2001-06-15  9:36 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/3111; it has been noted by GNATS.

From: Carlo Wood <carlo@alinoe.com>
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/3111: Demangler in libiberty.a is broken
Date: Fri, 15 Jun 2001 18:28:21 +0200

 Another example of that the qualifiers decoding of libiberty is broken:
 
 /usr/src/gcc/gcc-cvs-3.0/libiberty>./c++filt _Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i
 f(int[ sizeof(N::A::f()::foo) const])
 
 Correct is (I am writing my own demangler, hence this bug report):
 
 ~/c++/libcw/src/libcwd>a.out _Z1fAszL_ZZNK1N1A1fEvE3foo_0E_i
 f(int[sizeof(::N::A::f(void) const::foo)])
 
 Thus, the 'const' is shifted much too far to the right.
 
 -- 
 Carlo Wood <carlo@alinoe.com>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-02-28  0:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-10 17:26 c++/3111: Demangler in libiberty.a is broken carlo
2001-06-15  9:36 Carlo Wood
2002-04-26  3:33 nathan
2003-02-26 18:11 bkoz
2003-02-27 19:31 bkoz
2003-02-27 23:06 Carlo Wood
2003-02-28  0:11 neroden

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).