This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/66269] Issues with mixing strict aliasing (verify_type ICE with Ada)
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 26 Nov 2015 06:19:39 +0000
- Subject: [Bug middle-end/66269] Issues with mixing strict aliasing (verify_type ICE with Ada)
- Auto-submitted: auto-generated
- References: <bug-66269-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66269
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
This was fixed (well masked) by:
2015-11-24 Jan Hubicka <hubicka@ucw.cz>
* alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
double check that type is main variant.
* tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing
variant.
(verify_type_variant): Verify that variants have no
TYPE_ALIAS_SET_KNOWN_P set
* tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder
streaming so constant fields come first; stream TYPE_ALIAS_SET==0
only for main variants; stream TYPE_ALIAS_SET as a bit.
* tree-streamer-in.c (unpack_ts_type_common_value_fields): Update
accordingly.
the underlying issue that -fstrict-aliasing does not work correctly across
different units or with optimization attribute remains. I will open
independent bug for this. At least here was nothing Ada specific.