Make enum discriminants u64 instead of the host uint.
Don't truncate discriminants to host uint for C_uint's sake.
Add a test case for the preceding changes.

This would have failed on 32-to-64-bit cross-compiles.