[Bug fortran/91649] ICE in gfc_resolve_findloc, at fortran/iresolve.c:1827

2019-10-11 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91649

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |9.3

--- Comment #5 from kargl at gcc dot gnu.org ---
Fixed on trunk and 9-branch.  Closing. Thanks for bug report.

[Bug fortran/91649] ICE in gfc_resolve_findloc, at fortran/iresolve.c:1827

2019-10-11 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91649

--- Comment #4 from kargl at gcc dot gnu.org ---
Author: kargl
Date: Fri Oct 11 20:06:15 2019
New Revision: 276904

URL: https://gcc.gnu.org/viewcvs?rev=276904=gcc=rev
Log:
2019-10-11  Steven G. Kargl  

PR fortran/91649
check.c (gfc_check_findloc): Additional checking for valid arguments

2019-10-11  Steven G. Kargl  

PR fortran/91649
* gfortran.dg/pr91649.f90: New test.

Added:
branches/gcc-9-branch/gcc/testsuite/gfortran.dg/pr91649.f90
Modified:
branches/gcc-9-branch/gcc/fortran/ChangeLog
branches/gcc-9-branch/gcc/fortran/check.c
branches/gcc-9-branch/gcc/testsuite/ChangeLog

[Bug fortran/91649] ICE in gfc_resolve_findloc, at fortran/iresolve.c:1827

2019-10-11 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91649

--- Comment #3 from kargl at gcc dot gnu.org ---
Author: kargl
Date: Fri Oct 11 18:05:35 2019
New Revision: 276900

URL: https://gcc.gnu.org/viewcvs?rev=276900=gcc=rev
Log:
2019-10-11  Steven G. Kargl  

PR fortran/91649
check.c (gfc_check_findloc): Additional checking for valid arguments

2019-10-11  Steven G. Kargl  

PR fortran/91649
* gfortran.dg/pr91649.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/pr91649.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/check.c
trunk/gcc/testsuite/ChangeLog

[Bug fortran/91649] ICE in gfc_resolve_findloc, at fortran/iresolve.c:1827

2019-10-10 Thread kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91649

kargl at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||kargl at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |kargl at gcc dot gnu.org

--- Comment #2 from kargl at gcc dot gnu.org ---
(In reply to G. Steinmetz from comment #1)

> $ cat z6.f90
> program p
>logical :: back = .true.
>integer :: x(1) = findloc([1, 2, 1], 2.0, back=back)
>print *, x
> end
> 
> 
> $ gfortran-10-20190901 -c z4.f90
> $ gfortran-10-20190901 -c z5.f90
> $ gfortran-10-20190901 -c z6.f90
> z6.f90:3:50:
> 
> 3 |integer :: x(1) = findloc([1, 2, 1], 2.0, back=back)
>   |  1
> Error: Parameter 'back' at (1) has not been declared or is a variable, which
> does not reduce to a constant expression

I think the error message here is correct.  BACK is
a variable.  It is not a named constant.  Of course,
I could be missing something.

[Bug fortran/91649] ICE in gfc_resolve_findloc, at fortran/iresolve.c:1827

2019-09-16 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91649

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2019-09-16
 Ever confirmed|0   |1

[Bug fortran/91649] ICE in gfc_resolve_findloc, at fortran/iresolve.c:1827

2019-09-03 Thread gs...@t-online.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91649

G. Steinmetz  changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code

--- Comment #1 from G. Steinmetz  ---

Some more (e.g. accepts a non-conformant type value) :


$ cat z4.f90
program p
   integer :: x(1) = findloc([1, 2, 1], '1', back=.true.)
   print *, x
end


$ cat z5.f90
program p
   type t
   end type
   integer :: x(1) = findloc([1, 2, 1], t(), back=.true.)
   print *, x
end


$ cat z6.f90
program p
   logical :: back = .true.
   integer :: x(1) = findloc([1, 2, 1], 2.0, back=back)
   print *, x
end


$ gfortran-10-20190901 -c z4.f90
$ gfortran-10-20190901 -c z5.f90
$ gfortran-10-20190901 -c z6.f90
z6.f90:3:50:

3 |integer :: x(1) = findloc([1, 2, 1], 2.0, back=back)
  |  1
Error: Parameter 'back' at (1) has not been declared or is a variable, which
does not reduce to a constant expression