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

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>:

https://gcc.gnu.org/g:565ab7efbdc68cca5a2a81d872015f33359048b4

commit r10-7351-g565ab7efbdc68cca5a2a81d872015f33359048b4
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Mar 24 09:36:32 2020 +0100

    loop-manip: Avoid -fcompare-debug issues in create_iv [PR94285]

    The following testcase FAILs with -fcompare-debug.  The problem is that
    create_iv behaves differently when inserting after into an empty bb (in
that
    case sets location to goto_locus), or when inserting before gsi_end_p (i.e.
    at the end of bb; in that case it will not set location, otherwise it will
    set it to the location of next stmt).
    This isn't -fcompare-debug friendly, because if inserting after and the
    bb contains only debug stmts, then the location will not be set with -g
    and will be with -g0, or when inserting before, the location might either
    be set from the following debug stmt rather than some non-debug stmt after
    that, or might not be set with -g0 if it is to be inserted at the end of
bb,
    while with -g would be set to location of debug stmt.

    2020-03-24  Jakub Jelinek  <ja...@redhat.com>

            PR debug/94285
            * tree-ssa-loop-manip.c (create_iv): If after, set stmt location to
            e->goto_locus even if gsi_bb (*incr_pos) contains only debug stmts.
            If not after and at *incr_pos is a debug stmt, set stmt location to
            location of next non-debug stmt after it if any.

            * gfortran.dg/pr94285.f90: New test.

Reply via email to