diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-04-12 21:46:36 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-19 14:05:30 +0000 |
commit | b626498f6e444ac40eab1a8eaeb843e743028b13 (patch) | |
tree | 29ad6462b7f4b0e5f748c96bc19c90a4f1485a28 /gcc | |
parent | 4e474137e78a4c9b35b6c298d2aacf731c0b3d8a (diff) | |
download | gcc-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.adb | 20 |
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; |