https://gcc.gnu.org/g:a3e3ac6fa293c7798a28602da537d9c82468aed5

commit r16-1809-ga3e3ac6fa293c7798a28602da537d9c82468aed5
Author: Piotr Trojanek <troja...@adacore.com>
Date:   Thu Apr 24 16:56:20 2025 +0200

    ada: Ignore unchecked type conversions while getting enclosing object
    
    This patch both makes GNAT emit warnings on unused assignments where 
previously
    they were suppressed for obscure reasons and synchronizes routine
    Get_Enclosing_Object with a similar routine in GNATprove (which differs in
    handling of explicit dereferences).
    
    gcc/ada/ChangeLog:
    
            * sem_util.adb (Get_Enclosing_Object): Traverse unchecked type
            conversions since they from the compiler and should be transparent 
for
            semantic reasoning.

Diff:
---
 gcc/ada/sem_util.adb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 3c2a776ce369..127728ab601a 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -10314,7 +10314,9 @@ package body Sem_Util is
             =>
                return Get_Enclosing_Object (Prefix (N));
 
-            when N_Type_Conversion =>
+            when N_Type_Conversion
+               | N_Unchecked_Type_Conversion
+            =>
                return Get_Enclosing_Object (Expression (N));
 
             when others =>

Reply via email to