If we don't mark these as volatile then they might get reset on longjmp() and the code will misbehave.