本文讲述了作者在十年前发现的一个编译器错误。为了解决硬件定时器异步读取可能出现的竞争条件,作者编写了一个循环读取定时器直到两次读数相同的函数。但在升级到新版编译器后,编译器优化了代码,导致在极少数情况下会出现死循环。最终,作者找到了问题所在,并联系编译器供应商解决了该错误。