From: Eric Botcazou <ebotca...@adacore.com>

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.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 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 72f6c2088db..2e3b9c014fc 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
-- 
2.43.0

Reply via email to