Odd GCC Behavior