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

Reply via email to