https://gcc.gnu.org/g:e425edc58025990c01a25c9a8be016a2f41e787e
commit r15-1139-ge425edc58025990c01a25c9a8be016a2f41e787e Author: Piotr Trojanek <troja...@adacore.com> Date: Wed Apr 3 11:51:46 2024 +0200 ada: Skip processing of NUL character for attribute Type_Key Code cleanup; behavior is unaffected. gcc/ada/ * sem_attr.adb (Analyze_Attribute): Use fully qualified name without a NUL, so that it doesn't need to be skipped afterwards. Diff: --- gcc/ada/sem_attr.adb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 403810c8b5e..4fd270aeae9 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -6863,8 +6863,8 @@ package body Sem_Attr is -------------- when Attribute_Type_Key => Type_Key : declare - Full_Name : constant String_Id := - Fully_Qualified_Name_String (Entity (P)); + Full_Name : constant String_Id := + Fully_Qualified_Name_String (Entity (P), Append_NUL => False); CRC : CRC32; -- The computed signature for the type @@ -6997,9 +6997,9 @@ package body Sem_Attr is Start_String; Deref := False; - -- Copy all characters in Full_Name but the trailing NUL + -- Copy all characters in Full_Name - for J in 1 .. String_Length (Full_Name) - 1 loop + for J in 1 .. String_Length (Full_Name) loop Store_String_Char (Get_String_Char (Full_Name, Pos (J))); end loop;