The TYPE_MIN/MAX_VALUE for an enum should be set to the range truely required by the relevant language standards (different between C and C++).
I don't know for a fact that Ada has been adjusted for this though. But if an Ada developer can verify that enumerations are correctly created, we can delete about 100 lines of code. Which would be nice. I'm not sure I understand what "correct" means in this context. Ada just calls make_signed_type or make_unsigned_type and changes it to an ENUMERAL_TYPE. But it's pretty trivial to do whatever "correct" is, so if you're specific, it's easy to do. (There's not much code involved: it's case E_Enumeration_Type in ada/decl.c:gnat_to_gnu_entity.)