419532009-11-05 18:23:23 +0000missing uninitialized warning (SRA,VOP)2009-11-19 12:24:28 +0000111Unclassifiedgccmiddle-end4.5.0AllAllNEWdiagnosticP3enhancement---246391xinliangliunassignedgcc-bugsmanuxinliangli2009-11-06 10:02:19oldest_to_newest2729090xinliangli2009-11-05 18:23:23 +0000Compiling the following program with gcc 4.4, correct warning is emitted, but not 4.5. This is related to PR41952.
(Option -fno-tree-sra is needed to trigger the problem).
struct ExtentsBase {
int startx_;
int endx_;
};
int f(const ExtentsBase &e1, int n) {
ExtentsBase my_extents;
if (n)
my_extents.startx_ = e1.startx_; // Warning missing from 4.5
return my_extents.startx_;
}2729391pinskia2009-11-05 23:39:47 +0000Well in 4.5, there is only MEM for VOPs so I think this comes down to walking the VOP def trees and such.2729832rguenth2009-11-06 10:02:19 +0000Yes, the original implementation for uninitialized memory use was very
limited. Now it's even more limited.