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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:4e3d3e40726e1b68bf52fa205c68495124ea60b8

commit r10-7237-g4e3d3e40726e1b68bf52fa205c68495124ea60b8
Author: Richard Biener <rguent...@suse.de>
Date:   Wed Mar 18 09:13:17 2020 +0100

    middle-end/94188 fix fold of addr expression generation

    This adds a missing type conversion to build_fold_addr_expr and adjusts
    fallout - build_fold_addr_expr was used as a convenience to build an
    ADDR_EXPR but some callers do not expect the result to be simplified
    to something else.

    2020-03-18  Richard Biener  <rguent...@suse.de>

            PR middle-end/94188
            * fold-const.c (build_fold_addr_expr): Convert address to
            correct type.
            * asan.c (maybe_create_ssa_name): Strip useless type conversions.
            * gimple-fold.c (gimple_fold_stmt_to_constant_1): Use build1
            to build the ADDR_EXPR which we don't really want to simplify.
            * tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
            * tree-ssa-loop-im.c (gather_mem_refs_stmt): Likewise.
            * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
            (simplify_builtin_call): Strip useless type conversions.
            * tree-ssa-strlen.c (new_strinfo): Likewise.

            * gcc.dg/pr94188.c: New testcase.

Reply via email to