Improve parsing logic slightly.

Also attempt to resolve this problem with GCC that is now occuring.