[gcc r15-1139] ada: Skip processing of NUL character for attribute Type_Key

Marc Poulhi?s dkm@gcc.gnu.org
Mon Jun 10 09:07:44 GMT 2024


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

commit r15-1139-ge425edc58025990c01a25c9a8be016a2f41e787e
Author: Piotr Trojanek <trojanek@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;


More information about the Gcc-cvs mailing list