aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-04-12 21:46:36 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2022-05-19 14:05:30 +0000
commitb626498f6e444ac40eab1a8eaeb843e743028b13 (patch)
tree29ad6462b7f4b0e5f748c96bc19c90a4f1485a28 /gcc
parent4e474137e78a4c9b35b6c298d2aacf731c0b3d8a (diff)
downloadgcc-b626498f6e444ac40eab1a8eaeb843e743028b13.zip
gcc-b626498f6e444ac40eab1a8eaeb843e743028b13.tar.gz
gcc-b626498f6e444ac40eab1a8eaeb843e743028b13.tar.bz2
[Ada] Cleanup expansion of protected entry families
Expansion of entry families contained a condition that was always true. Cleanup related to detection of uninitialized scalar objects (which uncovered that expansion of entry families creates a slightly illegal AST with Elsif_Parts being an empty list). gcc/ada/ * exp_ch9.adb (Build_Find_Body_Index): Remove IF statement whose condition was true-by-construction; remove excessive assertion (since the call to Elsif_Parts will check that Nod is present and it is an if-statement).
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/exp_ch9.adb20
1 files changed, 7 insertions, 13 deletions
diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb
index 0e551ab..f9bdaf8 100644
--- a/gcc/ada/exp_ch9.adb
+++ b/gcc/ada/exp_ch9.adb
@@ -2793,20 +2793,14 @@ package body Exp_Ch9 is
Expression => Make_Integer_Literal (Loc, 1));
else
- pragma Assert (Present (Ret));
+ -- Ranges are in increasing order, so last one doesn't need guard
- if Nkind (Ret) = N_If_Statement then
-
- -- Ranges are in increasing order, so last one doesn't need
- -- guard.
-
- declare
- Nod : constant Node_Id := Last (Elsif_Parts (Ret));
- begin
- Remove (Nod);
- Set_Else_Statements (Ret, Then_Statements (Nod));
- end;
- end if;
+ declare
+ Nod : constant Node_Id := Last (Elsif_Parts (Ret));
+ begin
+ Remove (Nod);
+ Set_Else_Statements (Ret, Then_Statements (Nod));
+ end;
end if;
end if;