add some tests, remove a FIXME

this adds some tests for enum types; namely that longer-than-int
ones are handled properly, and that negative values are handled
properly.
this lets us remove a FIXME from gcc-interface.h relating to
negative-valued enum constants