------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-03-17 19:53 ------- Subject: Bug 18727
CVSROOT: /cvs/gcc Module name: gcc Branch: gcc-4_0-branch Changes by: [EMAIL PROTECTED] 2005-03-17 19:53:07 Modified files: gcc/ada : ChangeLog exp_ch13.adb exp_ch3.adb exp_ch3.ads freeze.adb sem_ch3.adb gigi.h decl.c trans.c Log message: PR ada/18727 Backport from mainline: 2005-03-15 Richard Kenner <[EMAIL PROTECTED]> * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True, replace the N_Freeze_Entity with a null statement. * exp_ch3.adb (Freeze_Type): Now a function that returns True if the N_Freeze_Entity is to be deleted. * exp_ch3.ads (Freeze_Type): Now a function that returns Boolean. * freeze.adb (Undelay_Type): New Subprogram. (Set_Small_Size): Pass T, the type to modify; all callers changed. (Freeze_Entity, Freeze_Record_Type): Change the way we handle types within records; allow them to have freeze nodes if their base types aren't frozen yet. * sem_ch3.adb (Constrain_Access, Constrain_Array): Allow itypes to be delayed. * gigi.h (gnat_to_gnu_field_decl): New decl. * decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set. (gnat_to_gnu_field_decl): New function. (substitution_list, annotate_rep): Call it. (gnat_to_gnu_entity, case E_Record_Subtype): Likewise. (gnat_to_gnu_entity, case E_Record_Type): Likewise. No longer update discriminants to not be a COMPONENT_REF. (copy_alias_set): Strip padding from input type; also handle unconstrained arrays properly. * trans.c (gnat_to_gnu, case N_Selected_Component): Call gnat_to_gnu_field_decl. (assoc_to_constructor): Likewise. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.638.4.7&r2=1.638.4.8 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_ch13.adb.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.9&r2=1.9.40.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_ch3.adb.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.29&r2=1.29.6.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_ch3.ads.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.10&r2=1.10.6.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/freeze.adb.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.23&r2=1.23.12.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/sem_ch3.adb.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.57&r2=1.57.6.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/gigi.h.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.33&r2=1.33.10.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/decl.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.65.6.2&r2=1.65.6.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/trans.c.diff?cvsroot=gcc&only_with_tag=gcc-4_0-branch&r1=1.90.6.2&r2=1.90.6.3 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18727