This is an optional behavior specified by the RM and it makes sense to do it when T'Machine_Overflows is True for the sake of consistency. Tested on x86_64-pc-linux-gnu, committed on trunk gcc/ada/ * libgnat/s-fatgen.adb (Scaling): Raise Constraint_Error in the overflow case when T'Machine_Overflows is True.