https://gcc.gnu.org/g:d797d051aabdd7beb38935b4610cc44f94c18aea

commit r15-4894-gd797d051aabdd7beb38935b4610cc44f94c18aea
Author: Piotr Trojanek <troja...@adacore.com>
Date:   Fri Sep 27 17:53:29 2024 +0200

    ada: Avoid run-time conversion of 0 from Int to Uint
    
    Code cleanup and tiny performance improvement; semantics is unaffected.
    
    gcc/ada/ChangeLog:
    
            * exp_ch4.adb (Expand_N_Op_Subtract): Replace numeric literal
            with universal integer constant, just like it is done in
            expansion of addition operator.

Diff:
---
 gcc/ada/exp_ch4.adb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
index 9024c1aebb2d..b2cc672579f0 100644
--- a/gcc/ada/exp_ch4.adb
+++ b/gcc/ada/exp_ch4.adb
@@ -10031,7 +10031,7 @@ package body Exp_Ch4 is
 
       if Is_Integer_Type (Typ)
         and then Compile_Time_Known_Value (Right_Opnd (N))
-        and then Expr_Value (Right_Opnd (N)) = 0
+        and then Expr_Value (Right_Opnd (N)) = Uint_0
       then
          Rewrite (N, Left_Opnd (N));
          return;

Reply via email to