No April Foolery: The Portable C Compiler version 1.0 was released on April 1st!
As with so many things BSD, this project proves that good code is timeless and can benefit from literally generations of review. It can build the majority of the BSD base systems (C++ code aside) and is undergoing continuous improvement.

that's something that always intrigued me..
there are many C++ compilers, but all just compile down to intermediate code, not C. Given the difficulty of making a C++ compiler, i'm surprised that there isn't a "generic" C++ -> C frontend that can be used with the plenty of C compilers available.

C++ was originally implemented via translation to C using a compiler called Cfront. See Wikipedia for more information: https://secure.wikimedia.org/wikipedia/en/wiki/Cfront . That article references a proprietary compiler project that I had not heard of before called Comeau C/C++ which apparently does still use the strategy of compiling C++ by going through C.

I think the problem is that it is useful for the compiler to know about C++'s features later on in the compiler pipeline. Converting them all to C probably makes the compiler harder to write and loses optimization opportunities.

A preprocessor is, to quote wikipedia, "a program that processes its input data to produce output that is used as input to another program". You still have to do all the hard work of parsing the code and generating the appropriate IR. At this point you'll have written a compiler frontent, so you might as well stick LLVM at the backend and emit machine code (instead of generating C and then compiling that with PCC). C++ especially is notoriously difficult to parse, so it doesn't really make sense to write a C++ to C compiler.

PCC is somewhat tied to OpenBSD. OpenBSD is actually working on eliminating all C++ from their basic tree. For example, they just got rid of groff for that very reason and replaced it with their own man-page preprocessor.

AFAIK Anders Magnusson (main developer of PCC) started revisiting old code of PCC after experience with porting NetBSD to PDP-10 (KLH10 emulator to be specific). Most problems with porting were related to GCC, not NetBSD itself.

Most work on mdocml (which replaced groff in OpenBSD) were done by Kristaps Dzonsons - NetBSD developer. NetBSD had even Google of Summer Code program related to mdocml.

Nerveless people from OpenBSD had great impact on both projects. Many BSD projects those days are maintained by more than one community.