------- 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