The conversion between OS and Ada priorties should be done in the wider
Interfaces.C.int type rather than Any_Priority otherwise
Constraint_Error will be raised when coverting Any_Priority'Last to int.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* libgnarl/s-osinte__qnx.adb (To_Target_Priority): Perform
arithmetic in int.
diff --git a/gcc/ada/libgnarl/s-osinte__qnx.adb b/gcc/ada/libgnarl/s-osinte__qnx.adb
--- a/gcc/ada/libgnarl/s-osinte__qnx.adb
+++ b/gcc/ada/libgnarl/s-osinte__qnx.adb
@@ -87,7 +87,7 @@ package body System.OS_Interface is
(Prio : System.Any_Priority) return Interfaces.C.int
is
begin
- return Interfaces.C.int (Prio + 1);
+ return Interfaces.C.int (Prio) + 1;
end To_Target_Priority;
-----------------