------- Comment #4 from fxcoudert at gcc dot gnu dot org  2007-02-06 13:41 
-------
I was wrong: the bug basically happens for all intrinsics which gfc_walk_expr
one of their arguments and then simply assert that the ss != gfc_ss_terminator.
This is a wrong thing to do for constant arguments. I audited all the
intrinsics to find out which I could lead to an ICE, and here's the complete
list:

  integer,parameter :: i(1,1) = 0, j(2) = 42
  logical :: l

!  print *, maxloc(j+j,mask=(j==2))

  print *, size(j+j)
  print *, minval(j+j)
  print *, minval(j,mask=(j==2))
  print *, maxval(j+j)
  print *, maxval(j,mask=(j==2))
  print *, sum(j,mask=j==2)
  print *, sum(j+j)
  print *, product(j+j)
  print *, ubound(j+j)
  print *, lbound(j+j)
  print *, dot_product(j+j,j)
  print *, dot_product(j,j+j)
  print *, count(i==1)
  print *, any(i==1)
  print *, all(i==1)

  end

I couldn't make maxloc/minloc ICE, although I'm pretty sure there should be a
way to get it.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|fxcoudert at gcc dot gnu dot|unassigned at gcc dot gnu
                   |org                         |dot org
             Status|ASSIGNED                    |NEW


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29400

Reply via email to