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 =>