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);