diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2024-08-26 16:16:19 +0200 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-09-10 09:44:10 +0200 |
commit | 7b77938c1b52e067db919b83c67bb7ca9e88b84c (patch) | |
tree | 2d1e1bf4c9fc24aa32b44d5d532965042787cfcf | |
parent | c8352514cd0903d00e0e4df106bd921897f90e63 (diff) | |
download | gcc-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.adb | 34 |
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); |