https://gcc.gnu.org/g:7b77938c1b52e067db919b83c67bb7ca9e88b84c

commit r15-3563-g7b77938c1b52e067db919b83c67bb7ca9e88b84c
Author: Piotr Trojanek <troja...@adacore.com>
Date:   Mon Aug 26 16:16:19 2024 +0200

    ada: Simplify code for inserting checks into expressions
    
    Code cleanup; semantics is unaffected.
    
    gcc/ada/
    
            * checks.adb (Remove_Checks): Combine CASE alternatives.

Diff:
---
 gcc/ada/checks.adb | 34 ++++++++++++----------------------
 1 file changed, 12 insertions(+), 22 deletions(-)

diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb
index 5d7f4cca70ae..57307c3da1b5 100644
--- a/gcc/ada/checks.adb
+++ b/gcc/ada/checks.adb
@@ -9712,10 +9712,6 @@ package body Checks is
          Set_Do_Range_Check (N, False);
 
          case Nkind (N) is
-            when N_And_Then =>
-               Traverse (Left_Opnd (N));
-               return Skip;
-
             when N_Attribute_Reference =>
                Set_Do_Overflow_Check (N, False);
 
@@ -9723,35 +9719,29 @@ package body Checks is
                Set_Do_Overflow_Check (N, False);
 
                case Nkind (N) is
-                  when N_Op_Divide =>
-                     Set_Do_Division_Check (N, False);
-
-                  when N_Op_And =>
-                     Set_Do_Length_Check (N, False);
-
-                  when N_Op_Mod =>
-                     Set_Do_Division_Check (N, False);
-
-                  when N_Op_Or =>
-                     Set_Do_Length_Check (N, False);
-
-                  when N_Op_Rem =>
+                  when N_Op_Divide
+                     | N_Op_Mod
+                     | N_Op_Rem
+                  =>
                      Set_Do_Division_Check (N, False);
 
-                  when N_Op_Xor =>
+                  when N_Op_And
+                     | N_Op_Or
+                     | N_Op_Xor
+                  =>
                      Set_Do_Length_Check (N, False);
 
                   when others =>
                      null;
                end case;
 
-            when N_Or_Else =>
-               Traverse (Left_Opnd (N));
-               return Skip;
-
             when N_Selected_Component =>
                Set_Do_Discriminant_Check (N, False);
 
+            when N_Short_Circuit =>
+               Traverse (Left_Opnd (N));
+               return Skip;
+
             when N_Type_Conversion =>
                Set_Do_Length_Check   (N, False);
                Set_Do_Overflow_Check (N, False);

Reply via email to