[Bug fortran/13615] -Wuninitialized produces wrong error message for characters
manu at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Jun 22 14:43:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13615
--- Comment #12 from Manuel López-Ibáñez <manu at gcc dot gnu.org> ---
(In reply to Dominique d'Humieres from comment #11)
> At revision 200321, I still get no warning for tests as in comment #7 and
>
> pr13615_1.f90:3:0: warning: 'c[1]{lb: 1 sz: 1}' is used uninitialized in
> this function [-Wuninitialized]
>
> as in comment #8. What dump(s) would be necessary for any progress for this
> PR?
The SSA built is:
warn_character (character(kind=1)D.24[1:1] & restrict dD.1877,
integer(kind=4)D.8 _dD.1876)
{
character(kind=1)D.24 cD.1878[1:1];
character(kind=1)D.24 _2;
;; basic block 2, loop depth 0, count 0, freq 0, maybe hot
;; prev block 0, next block 1, flags: (NEW, REACHABLE)
;; pred: ENTRY (FALLTHRU)
;; starting at line 3
[z.f : 3:0] # VUSE <.MEM_1(D)>
_2 = [z.f : 3] cD.1878[1]{lb: 1 sz: 1};
[z.f : 3:0] # .MEM_4 = VDEF <.MEM_1(D)>
[z.f : 3] [z.f : 3] *d_3(D)[1]{lb: 1 sz: 1} = _2;
# .MEM_5 = VDEF <.MEM_4>
cD.1878 ={v} {CLOBBER};
[z.f : 4:0] # VUSE <.MEM_5>
return;
;; succ: EXIT
}
as you can see, the middle-end somehow thinks that the function reads from
uninitialized memory. If this is the fault of gfortran or the middle-end, I
really don't know. Perhaps Richard or Jakub have better idea of what is going
on.
More information about the Gcc-bugs
mailing list