[RFC] type safe trees

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Fri Jun 25 13:05:00 GMT 2004


    I'd be a bit nervous about using exceptions to backtrack in the
    parser.  Such exceptions happen a lot, and the DWARF unwinder is rather
    slow for routinely thrown exceptions.  Exceptions should be
    exceptional...

Note that exceptions are also often the hardest thing to get working
on a new port.  GNAT uses exceptions for some things in the front end.
It's not a bootstrap issue to use it for error recovery, but it was
also used at some point for a special case (I forget which) of compiling
code that had no errors.

This caused no end of problems with bootstraps (including most of the issues
involving using mixed versions of GCC and GNAT to start a bootstrap that
occurred when some of the vendors started including GNAT) and has since been
removed.

So I strongly agree with you, but not just for efficiency reasons.



More information about the Gcc mailing list