[Bug middle-end/32931] FORALL and WHERE give an ICE with -m64

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Nov 3 18:46:00 GMT 2007



------- Comment #4 from pinskia at gcc dot gnu dot org  2007-11-03 18:46 -------
Hmm:
  D.561 = s[0];
  D.562 = !D.561;
  temp.4[mi.8] = D.562;

  logical8 D.561;
  logical1 D.562;

So we have a TRUTH_NOT_EXPR of a logical8 and that has an implicated cast to
logical1.  So this is either a front-end bug or a middle-end (in fold or
gimplifier).  I want to say fold as we go from:
      D.562 = D.561 == 0;

To:
  D.562 = !D.561;


And I think this is my fault too so assigning this to me.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|fxcoudert at gcc dot gnu dot|pinskia at gcc dot gnu dot
                   |org                         |org
          Component|fortran                     |middle-end


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



More information about the Gcc-bugs mailing list