From: Johannes Kliemann Date: Tue, 5 Apr 2022 16:25:43 +0000 (+0000) Subject: [Ada] Fix Ada-QNX task priority conversion X-Git-Tag: basepoints/gcc-14~6604 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b271095d5076f837391b2726c1265ae2e91fafa8;p=thirdparty%2Fgcc.git [Ada] Fix Ada-QNX task priority conversion 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. 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 index f446ac8cb6b..8315c1250eb 100644 --- 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; -----------------