a; b = 1; yes, that's a permissible transformation, and it is interesting to note that the normally useless C statement a; has a useful meaning for volatile variables :-)