https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115507

--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Marc Poulhi?s <d...@gcc.gnu.org>:

https://gcc.gnu.org/g:18232cbcfd2c4f95bf51b4fa9fb65f545c2a0569

commit r15-4630-g18232cbcfd2c4f95bf51b4fa9fb65f545c2a0569
Author: Eric Botcazou <ebotca...@adacore.com>
Date:   Fri Sep 13 21:09:31 2024 +0200

    ada: Fix fallout of change to 'Wide_Wide_Value for enumeration types

    The literals of enumeration types are always normalized, even though they
    contain wide characters (but the normalization leaves these unchanged),
    so a normalization routine that is aware of wide characters must be run
    on the input string for 'Wide_Wide_Value.

    gcc/ada/ChangeLog:

            PR ada/115507
            * rtsfind.ads (RE_Id): Add RE_Enum_[Wide_]Wide_String_To_String.
            (RE_Unit_Table): Add entries for the new values.
            * exp_attr.adb (Is_User_Defined_Enumeration_Type): New predicate.
            (Expand_N_Attribute_Reference) <Attribute_Wide_Value>: Build a call
            to RE_Enum_Wide_String_To_String for user-defined enumeration
types.
            <Attribute_Wide_Wide_Value>: Likewise with
            RE_Enum_Wide_Wide_String_To_String.
            * exp_imgv.adb (Expand_Value_Attribute): Adjust to above.
            * libgnat/s-wchwts.ads (Enum_Wide_String_To_String): New function.
            (Enum_Wide_Wide_String_To_String): Likewise.
            * libgnat/s-wchwts.adb: Add clauses for System.Case_Util.
            (Normalize_String): New local procedure.
            (Enum_Wide_String_To_String): New function body.
            (Enum_Wide_Wide_String_To_String): Likewise.

Reply via email to