[Bug middle-end/71002] [6 Regression] -fstrict-aliasing breaks Boost's short string optimization implementation

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 11 10:25:00 GMT 2016


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |7.0
            Summary|[6/7 Regression]            |[6 Regression]
                   |-fstrict-aliasing breaks    |-fstrict-aliasing breaks
                   |Boost's short string        |Boost's short string
                   |optimization implementation |optimization implementation

--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mitigated on trunk sofar.

--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Wed May 11 10:24:11 2016
New Revision: 236117

URL: https://gcc.gnu.org/viewcvs?rev=236117&root=gcc&view=rev
Log:
2016-05-11  Richard Biener  <rguenther@suse.de>

        PR middle-end/71002
        * alias.c (reference_alias_ptr_type): Preserve alias-set zero
        if the langhook insists on it.
        * fold-const.c (make_bit_field_ref): Add arg for the original
        reference and preserve its alias-set.
        (decode_field_reference): Take exp by reference and adjust it
        to the original memory reference.
        (optimize_bit_field_compare): Adjust callers.
        (fold_truth_andor_1): Likewise.
        * gimplify.c (gimplify_expr): Adjust in-SSA form test.

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

Added:
    trunk/gcc/testsuite/g++.dg/torture/pr71002.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/alias.c
    trunk/gcc/fold-const.c
    trunk/gcc/gimplify.c
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list