GCC's documentation for the -g -O combination more or less implies that without -O, the program is executed in the order it is written.
You're right, I wasn't thinking. -O0 will do it. John