http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57714
--- Comment #8 from David Krauss <potswa at mac dot com> --- Probably what happened: 1. In preserving visual appearance, tokens not separated by spaces are kept together. 2. Line splicing happens before spaces are identified for the above. 3. The { and return tokens are grouped into the same visual block. 4. 0 follows a space and its location on the next line is duly noted.