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

commit r15-4631-ga71c37a7241d8a73fe51712e5b4c7222afbaee8b
Author: Eric Botcazou <ebotca...@adacore.com>
Date:   Sat Sep 14 14:48:24 2024 +0200

    ada: Fix wrong handling of wide wide characters in 
Append_Decoded_With_Brackets
    
    This only shows up at link time when the name of a compilation unit contains
    a wide wide character.
    
    gcc/ada/ChangeLog:
    
            * namet.adb (Append_Decoded_With_Brackets): Fix condition for the
            cheap test at the beginning of the loop.

Diff:
---
 gcc/ada/namet.adb | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/namet.adb b/gcc/ada/namet.adb
index 72f6c2088db0..2e3b9c014fc4 100644
--- a/gcc/ada/namet.adb
+++ b/gcc/ada/namet.adb
@@ -474,7 +474,11 @@ package body Namet is
 
             P := 1;
             while P < Temp.Length loop
-               if Temp.Chars (P + 1) in 'A' .. 'Z' then
+               --  Cheap test for the common case of no encoding
+
+               if Temp.Chars (P + 1) in 'A' .. 'Z'
+                 and then Temp.Chars (P + 1) /= 'W'
+               then
                   P := P + 1;
 
                --  Uhh encoding

Reply via email to