Here finally is the big c-decl.c rewrite. I'm pleased to report it
solves the infamous dwarf2out ICE and several other bugs (see the
changelog for details). However, I need some help finishing it.
Most significantly, the Objective-C and possibly Java front ends
appear to be broken by this patch, such that neither runtime library
can be built. For Objective-C the symptoms are a bunch of warnings
about unexpected types for 'id' followed by an ICE in list_length
owing to a list of global decls that has somehow become circular.
(I added circular list detection to list_length under ENABLE_CHECKING;
without that it would be an infinite loop instead of an ICE.)