Generating an internal subprogram (e.g. array comparison functions)
returning an array, the Transform_Function_Array mechanism gets confused
and references the wrong entities in some cases. Fix this discrepency by
directly transforming these functions into procedures instead of
triggering the generic mechanism to avoid the confusion.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

        * ali-util.adb (Get_File_Checksum): Remove dead code.
        * exp_ch4.adb (Expand_Boolean_Operator, Expand_N_Op_Not,
        Make_Boolean_Array_Op): Take Transform_Function_Array into
        account.
        * exp_ch6.adb (Expand_Call_Helper): Update comment. Code
        cleanup.
        * exp_util.adb (Build_Procedure_Form): Use new predefined name
        Name_UP_RESULT.
        * snames.ads-tmpl (Name_UP_RESULT): New predefined name.  Code
        cleanup: remove unused names from the project parser, moved to
        gprbuild sources.
        * xsnamest.adb: Add support for uppercase names.

Attachment: patch.diff.gz
Description: application/gzip

Reply via email to