Fixed a GCC error and a warning.

The error should have been caught by VC too, but I guess VC doesn't like to examine function prototypes that haven't been implemented yet. The warning was not critical at all (about unhandled cases in a switch) because the code was obviously correct, but I added a "default" part to the "switch" (and added a little macro to tell the compiler that that part of the code is unreachable.)