我们公司就有自己的编译器:diab,在公司待了9年多累计已经发现过3个bug,两个跟复杂的宏展开有关,还有一个跟32位环境下64位变量循环优化有关。都是真正的bug,不是配置问题,就是代码运行结果与预期不一致。
有些时候运气好,代码没改动但编译升级以后代码不工作,就很容易定位,但有时候运气不好的话,只能反汇编一行一行的查,其中一个跟宏有关的问题,查了好几天,最后才怀疑到编译器头上。
另外,Intel的ICC编译器也发现过bug