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

--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-11-12 
20:33:36 UTC ---
I think the first test case is wrongly folded already by the front end:

program main
  integer, volatile :: j
  if (j>j) call notfound
end program main

Gives the original dump:

MAIN__ ()
{
  volatile integer(kind=4) j;

  L.1:;
}

 * * *

For some reason, also:

program main
  integer, volatile :: j, k
  if (j>k) call notfound
end program main

does not give a link error. The optimized dump has:
  j.1_8 ={v} j;
  k.2_9 ={v} k;
  if (j.1_8 > k.2_9)
    goto <bb 3>;
<bb 3>:
  notfound ();

which looks OK, but there is no link error?!?

Reply via email to