------- Comment #3 from burnus at gcc dot gnu dot org  2007-05-22 18:29 -------
> > why has the variable no name for the middle end;
> that is a front issue for now

Hmm, why did this trick to get rid of PRs not work? ;-)

Reduced test case:

      subroutine Test
      implicit none
      integer,volatile :: Integer_1
      integer          :: Integer_4
      character(len=3) :: String_1
      String_1 = '124'
      select case(String_1)
        case default
          stop
      end select
      Integer_1 = 3
      do Integer_4 = 1, Integer_1
        String_1 = '098'
        select case(String_1)
          case default
            stop
        end select
      end do
      end subroutine Test

Gives two bogus warnings:
  warning: 'integer_4' may be used uninitialized in this function
  warning: '<anonymous>' may be used uninitialized in this function

The integer_4 warning is completely surprising:
  int4 integer_4;
[...]
    integer_4 = 1;
    if (integer_4 <= D.1366)
[...]
              D.1373 = integer_4 == D.1366;
              integer_4 = integer_4 + 1;
I fail to see why it could be seen as undefined.

For <anonymous> I don't see what goes wrong.


-- 


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

Reply via email to