https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93246

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
      Known to work|                            |8.3.1
         Resolution|---                         |FIXED
      Known to fail|                            |8.3.0

--- Comment #16 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Richard Guenther
<rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:1b169f1ea0c9fab7712ede65edb0ffb6e021ad7c

commit r8-9980-g1b169f1ea0c9fab7712ede65edb0ffb6e021ad7c
Author: Richard Biener <rguent...@suse.de>
Date:   Tue Jan 14 08:43:32 2020 +0100

    PR middle-end/93246 - missing alias subsets

    Starting with the introduction of TYPE_TYPELESS_STORAGE the situation
    of having a alias-set zero aggregate field became more common which
    prevents recording alias-sets of fields of said aggregate as subset
    of the outer aggregate.  component_uses_parent_alias_set_from in the
    past fended off some of the issues with that but the alias oracles
    use of the alias set of the base of an access path never appropriately
    handled it.

    The following makes it so that alias-sets of fields of alias-set zero
    aggregate fields are still recorded as subset of the container.

    2020-01-14  Richard Biener  <rguent...@suse.de>

        PR middle-end/93246
        * alias.c (record_component_aliases): Take superset to record
        into, recurse for alias-set zero fields.
        (record_component_aliases): New oveerload wrapping around the above.

        * g++.dg/torture/pr93246.C: New testcase.

Reply via email to