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.
patch.diff.gz
Description: application/gzip