Gnash under Clang
Gnash is now completely compilable and optimizable with the LLVM frontend Clang. The AGG renderer headers have one C++ bug that causes an error. This needs to be fixed externally if you want to use that renderer, as it seems legitimate for a compiler to reject it (even if GCC doesn't).
Clang has already helped to find a few bugs in Gnash. Some warnings picked up things that GCC missed. And most interestingly, there were cases where Gnash's behaviour was relying on the order of evaluating function arguments.
Any C++ coder should know that this is unspecified, but it is often difficult to pick up the cases where it actually matters, for instance when the side-effects of the evaluation have to take place in an expected order. Some of these logic errors have been in Gnash for years. Clang helped here simply by using a different order from GCC, so it was noticeable when the testsuite failed.
Using part of Gnash's testsuite as a rough benchmark, the binaries that Clang produces are still significantly slower than GCCs. I'm looking forward to seeing improvements here.