RFA: New V3 demangler

Ian Lance Taylor ian@wasabisystems.com
Thu Nov 20 22:56:00 GMT 2003


DJ Delorie <dj@redhat.com> writes:

> >    This file is part of the libiberty library, which is part of GCC.
> 
> Er, not quite true.  Look up the threads on libiberty "ownership" and
> copyright stuff; there has been some debate about libiberty being
> "part of" gcc, vs "used by" gcc (and many other projects).  It affects
> the type of copyright assignment papers we need to let folks edit the
> file.  We might as well get this one right the first time ;-)
> 
> > /* Avoid pulling in the ctype tables for this simple usage.  */
> > #define IS_DIGIT(c) ((c) >= '0' && (c) <= '9')
> 
> The whole point of the tables is to handle encodings where those
> digits are not concecutive.  I don't know of any, but...
> 
> >	    || (peek_next >= 'A' && peek_next <= 'Z'))
> 
> This definitely is wrong.  We support EBCDIC.  Or at least we're
> supposed to; the implementation is incomplete, but no sense making it
> worse.  Unless you want to talk me into letting it slip for now...

All your comments are actually items which I took from the existing
cp-demangle.c file.

I just took the copyright without thinking about it.

The comment on IS_DIGIT in the current file is:

/* Don't include <ctype.h>, to prevent additional unresolved symbols
   from being dragged into the C++ runtime library.  */

The >= 'A' && <= 'Z' is similar, and is just like this very recent
change:

2003-11-19  Mark Mitchell  <mark@codesourcery.com>

	* cp-demangle.c (demangle_type): Correct thinko in substitution
	processing.

But I can certainly change all of these.  I'll send another patch
later today.

Ian



More information about the Gcc-patches mailing list