GCC is, for once, more picky.  Adding missing code, though (it is a valid catch)