Fix error handling for #elif and #else.

We didn't detect that error.
Cleanup.