[Bug ada/19386] ACATS c330001 fails at runtime on sparc-solaris,x86_64-linux
cvs-commit at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Thu Feb 10 19:05:00 GMT 2005
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-02-10 13:53 -------
Subject: Bug 19386
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: charlet@gcc.gnu.org 2005-02-10 13:53:24
Modified files:
gcc/ada : decl.c utils2.c utils.c
Log message:
2005-02-09 Eric Botcazou <ebotcazou@adacore.com>
Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fix for c330001 - PR ada/19386
* decl.c:
(gnat_to_gnu_field): Do not necessarily invoke make_packable_type
on the field if Pragma Component_Alignment (Storage_Unit).
(gnat_to_gnu_entity, case object): Do not treat a renaming that has
side-effects as if it were a constant; also make SAVE_EXPR to protect
side-effects.
(gnat_to_gnu_entity, case E_Record_Subtype): If have _Parent, make a
UNION_TYPE.
(make_dummy_type): Set TYPE_UNCHECKED_UNION_P.
(components_to_record): Test it.
Fix improper usage of REFERENCE_CLASS_P.
* utils2.c (build_binary_op, case MODIFY_EXPRP): Treat UNION_TYPE as
RECORD_TYPE.
* utils2.c: Minor reformatting.
* utils.c (convert, case UNION_TYPE): Check TYPE_UNCHECKED_UNION;
handle other cases like RECORD_TYPE.
* utils.c (gnat_pushdecl): Set TREE_NO_WARNING.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/decl.c.diff?cvsroot=gcc&r1=1.64&r2=1.65
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/utils2.c.diff?cvsroot=gcc&r1=1.43&r2=1.44
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/utils.c.diff?cvsroot=gcc&r1=1.89&r2=1.90
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19386
More information about the Gcc-bugs
mailing list