https://gcc.gnu.org/g:69bf47b6eca46dd92381849fdf8c4c37750423f1
commit r16-1787-g69bf47b6eca46dd92381849fdf8c4c37750423f1 Author: Piotr Trojanek <troja...@adacore.com> Date: Tue Jan 16 22:43:09 2024 +0100 ada: Remove dead branch from Get_Enclosing_Object The dead branch in routine Get_Enclosing_Object was most likely some experiment from the early days of GNATprove. This routine is meant to be called with the LHS of an assignment statement where an implicit dereference is always rewritten into explicit one, regardless if code is generated. gcc/ada/ChangeLog: * sem_util.adb (Get_Enclosing_Object): Remove dead code. Diff: --- gcc/ada/sem_util.adb | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index c8e30f3dc7ff..a62b7013d708 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -10266,14 +10266,7 @@ package body Sem_Util is | N_Selected_Component | N_Slice => - -- If not generating code, a dereference may be left implicit. - -- In thoses cases, return Empty. - - if Is_Access_Type (Etype (Prefix (N))) then - return Empty; - else - return Get_Enclosing_Object (Prefix (N)); - end if; + return Get_Enclosing_Object (Prefix (N)); when N_Type_Conversion => return Get_Enclosing_Object (Expression (N));