As if having to deal with
broken memory models isn't bad enough. In his latest column in
Embedded Systems Design magazine,
Jack Ganssle points us to research that shows that virtually all C compilers mis-compile code that uses volatiles. Here's the
original article and
presentation, both by Eric Eide and John Regehr at the University of Utah.