RCS History

Random standard-conforming known things that should be added to pcc:
- Currently all known usable C99 stuff is added.
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.
GCC compatibility:
- PCC has GCC compatibility enabled by default, but there are a number of language constructs that may not be fully implemented, like attributes.
- There's similar work needed in the C preprocessor area. #pragmas are the first thing that comes to mind.
Portability:
- The i386 and amd64 are now stable enough to build most C programs, including PCC itself. More work is needed to make it available in other platforms, especially MIPS and ARM.
- We need more people to test PCC with more recent versions of supported operating systems.