RCS History

Random standard-conforming known things that should be added to pcc:
- Delay identifier conversion (to expression trees) when parsing function headers until after the function header is fully parsed.
As it is right now function declarations like "int a(int b, int c[b]){ }" will fail.
- Fix runtime calculation of sizeof's on abstract dynamic declarations; "sizeof(int [b])" do currently not work.
- Add support for complex and imaginary numbers.
Other stuff that are for compatibility:
- Support empty initializers. Not allowed by C99, but some people use it since gcc accept it.
- Support unnamed unions. Not allowed by C99, but people sometimes tend to use it.
Internal cleanups:
- Cleanup prototype parsing and checking.
- Ensure that the instruction matcher do not assume that it will reclaim a register if a direct match of something else than a register is done as a leg node.
This may require additions to visit and su fields in table and node.
- Teach the register allocator how to allocate multiple registers at once. This is not the same as register pairs; pairing is handled as a separate register class.
This is used for example when a type is not supported by the underlying hardware, like long long on i386 or long on pdp11.