[Bug tree-optimization/18727] [4.0/4.1 Regression] ACATS c43214c fails at runtime (aliasing pb)
cvs-commit at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Mar 17 19:53:00 GMT 2005
------- 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: ebotcazou@gcc.gnu.org 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 <kenner@vlsi1.ultra.nyu.edu>
* 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
More information about the Gcc-bugs
mailing list