So this is likely to be a FE Ada coding bug and not a FE/ME/BE interface issue, thanks for spotting this!
Indeed, having looked a bit closer at Uintp, I think this is the right fix. Robert, please confirm. *** uintp.adb 12 Sep 2003 21:50:56 -0000 1.80 --- uintp.adb 1 Mar 2006 13:08:06 -0000 *************** package body Uintp is *** 591,595 **** begin ! if UI_Is_In_Int_Range (Input) then Num := abs (UI_To_Int (Input)); Bits := 0; --- 591,598 ---- begin ! if Input = Uint_Int_First then ! Num := Int'Size; ! ! elsif UI_Is_In_Int_Range (Input) then Num := abs (UI_To_Int (Input)); Bits := 0;