aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2024-08-26 16:16:19 +0200
committerMarc Poulhiès <dkm@gcc.gnu.org>2024-09-10 09:44:10 +0200
commit7b77938c1b52e067db919b83c67bb7ca9e88b84c (patch)
tree2d1e1bf4c9fc24aa32b44d5d532965042787cfcf
parentc8352514cd0903d00e0e4df106bd921897f90e63 (diff)
downloadgcc-7b77938c1b52e067db919b83c67bb7ca9e88b84c.zip
gcc-7b77938c1b52e067db919b83c67bb7ca9e88b84c.tar.gz
gcc-7b77938c1b52e067db919b83c67bb7ca9e88b84c.tar.bz2
ada: Simplify code for inserting checks into expressions
Code cleanup; semantics is unaffected. gcc/ada/ * checks.adb (Remove_Checks): Combine CASE alternatives.
-rw-r--r--gcc/ada/checks.adb34
1 files changed, 12 insertions, 22 deletions
diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb
index 5d7f4cc..57307c3 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);