Compilers can be surprisingly "incorrect" and yet still be usable in production. I've routinely been forced to work with compilers that generated incorrect code in numerous situations, and I've simply cataloged and avoided them.
(Interestingly enough, the compiler in question that generated incorrect code so often that I had a catalog ruleset of "things not to do" was llvm-gcc, when I was first deploying Cydia and Telesphoreo to the jailbroken iPhone community. However, that was a while ago, and LLVM doesn't have those shockingly bad issues anymore.)
(It was just a few weeks ago, though, when chpwn started trying to get Cydia compiling with LLVM and kept getting "internal compiler error" on what seemed like some reasonably simple C++.)
[1] http://www.adobe.com/devnet/logged_in/abansod_iphone.html