C++ demangler horrors

Nathanael Nerode neroden@twcny.rr.com
Fri Jun 27 22:37:00 GMT 2003


>Yes, and what's more, the extra bootstrap stage(s) that people seem
>determined to avoid only needs to be done /once/, ever.  Then the 
>system /has/ a C++ compiler.  What's more, it's a damn good one, 
>because it's ours!

All right.  Then write a patch which builds C++, builds libsupc++, and 
builds the demangler, in stage 1, then turns around and uses that to 
build stage 2, etc.  And make it clean and easy to understand.  Oh yeah 
-- in the cross-compiler case, you need to build a C++ compiler to the 
*host* and build libsupc++ for the *host*, use those to build GDB & 
binutils, and then turn around and build the real libsupc++ for the 
target.

Actually, this might all be possible in a straightforward way after I 
move bootstrap to the top level (which I'm working on).

--
For now, put it off.   It's the configury maintainers who will have to 
maintain the dependency problems which everyone else wants to create.

Here's a proposal.  You want to use a C++ demangler written in C++ and 
depending on a C++ library in binutils and gdb?  Then require a 
preexisting, installed C++ compiler in order to build binutils and gdb.  
Run that by whoever's in charge of those projects, and if you get 
approval, go ahead.

Otherwise, wait until there's support for such a complicated dependency 
chain.  There isn't at the moment, although there might be within the 
next year.

-- 
Nathanael Nerode  <neroden at gcc.gnu.org>
http://home.twcny.rr.com/nerode/neroden/fdl.html



More information about the Gcc mailing list