https://gcc.gnu.org/g:315965cf4e47118152e7e9bf7086ccf833cafa91
commit r16-6603-g315965cf4e47118152e7e9bf7086ccf833cafa91 Author: Piotr Trojanek <[email protected]> Date: Tue Nov 25 11:29:28 2025 +0100 ada: Find overlying with slices A recent change removed rewriting of address of a slice into address of first component of a slice. Now we need to explicitly detect overlying with slices. Together, both changes cause warnings to be emitted when slice of a constant object is overlaid by a variable. gcc/ada/ChangeLog: * sem_util.adb (Find_Overlaid_Entity): Detect overlying with slice. Diff: --- gcc/ada/sem_util.adb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 843bfb4a54be..ad7c0e647f09 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -9251,7 +9251,10 @@ package body Sem_Util is -- Check for components - elsif Nkind (Expr) in N_Selected_Component | N_Indexed_Component then + elsif Nkind (Expr) in N_Indexed_Component + | N_Selected_Component + | N_Slice + then Expr := Prefix (Expr); Off := True;
