On Wed, Nov 10, 2021 at 4:00 PM Jan Hubicka via Gcc-patches
<gcc-patc...@gcc.gnu.org> wrote:
>
> Hi,
> the testcase tests for out of bound accesses warnings and with ipa-modref 
> improvements
> it now triggers a new warning:
>
> /aux/hubicka/trunk-git/gcc/testsuite/gfortran.dg/do_subscript_3.f90:11:9: 
> Warning: (1)
> /aux/hubicka/trunk-git/gcc/testsuite/gfortran.dg/do_subscript_3.f90:10:47: 
> Warning: Array reference at (1) out of bounds (0 < 1) in loop beginning at (2)
> /aux/hubicka/trunk-git/gcc/testsuite/gfortran.dg/do_subscript_3.f90:19:9: 
> Warning: (1)
> /aux/hubicka/trunk-git/gcc/testsuite/gfortran.dg/do_subscript_3.f90:18:45: 
> Warning: Array reference at (1) out of bounds (6 > 5) in loop beginning at (2)
> /aux/hubicka/trunk-git/gcc/testsuite/gfortran.dg/do_subscript_3.f90:19:50: 
> Warning: iteration 5 invokes undefined behavior 
> [-Waggressive-loop-optimizations]
> /aux/hubicka/trunk-git/gcc/testsuite/gfortran.dg/do_subscript_3.f90:18:9: 
> note: within this loop
>
> I suppose we now are able to propagate array bounds better into the
> nested function.
>
> The last warning is new and correct even though little bit redundant.  I think
> we may just silence it?  I wonder why we do not get same fact on the first 
> loop
> (which hits out of bound access already at iteration 0).
>
> Looks OK?

I guess so - but it looks like the testcase exercises diagnostics in
the frontend so I wonder
whether simply using { dg-options "-O0" } might be more appropriate?

> Honza
>
> gcc/testsuite/ChangeLog:
>
> 2021-11-10  Jan Hubicka  <hubi...@ucw.cz>
>
>         * gfortran.dg/do_subscript_3.f90: Add 
> -Wno-aggressive-loop-optimizations.
>
> diff --git a/gcc/testsuite/gfortran.dg/do_subscript_3.f90 
> b/gcc/testsuite/gfortran.dg/do_subscript_3.f90
> index 2f62f58142b..18ed9a2f0c9 100644
> --- a/gcc/testsuite/gfortran.dg/do_subscript_3.f90
> +++ b/gcc/testsuite/gfortran.dg/do_subscript_3.f90
> @@ -1,4 +1,5 @@
>  ! { dg-do compile }
> +! { dg-additional-options "-Wno-aggressive-loop-optimizations" }
>  ! PR fortran/91424
>  ! Check that only one warning is issued inside blocks, and that
>  ! warnings are also issued for contained subroutines.

Reply via email to