Thanks to funding by BSD Fund, Anders Magnusson has released the first stable release of PCC 1.0.0 (Portable C Compiler) for i386 adn amd64. PCC was developed in order to create an alternative C compiler to GCC, but licensed under BSD.
pcc should be a well-working compiler on i386 and amd64 on a number of OSes, including the BSD’s, most Linuxes and also Microsoft Windows….
The compiler is based on the original Portable C Compiler by S. C. Johnson, written in the late 70’s. About 50% of the frontend code and 80% of the backend code has been rewritten. See the PCC History wiki page for details.
If you’re not familiar with PCC, the following from wikipedia may be of interest (portable c compiler):
The Portable C Compiler is an early compiler for the C programming language written by Stephen C. Johnson of Bell Labs in the mid-1970s—based in part on ideas from earlier work by Alan Snyder in 1973.
One of the first compilers that could easily be adapted to output code for different computer architectures, the compiler had a long life span. It shipped with BSD Unix until the release of 4.4BSD in 1994—when it was replaced by the GNU C Compiler. It was very influential in its day, so much so that at the beginning of the 1980s, the majority of C compilers were based on it.
The keys to the success of pcc were its portability and improved diagnostic capabilities:
- The compiler was designed so that only a few of its source files were machine-dependent.
- It was relatively robust to syntax errors and performed more thorough validity checks.