On Mon, Dec 14, 2009 at 01:53:30PM -0800, John Regehr wrote:
> > Optimizations based on uninitialized variables make me very nervous.
> > If uninitialized memory reads are transformed into don't-cares, then
> > checking tools like valgrind will no longer see the UMR (assuming that
> > the lack of initialization is a bug).
> >
> > Did I understand that icc does this? It seems like a dangerous practice.
>
> Yes, it looks like icc does this. But so does gcc, see below. There is
> no "add" in the generated code.
>
> John Regehr
>
>
> [reg...@babel ~]$ cat undef.c
> int foo (int x)
> {
> int y;
> return x+y;
> }
I'm less concerned about cases like this, because the compiler will
issue a warning for the uninitialized variable (if -Wall is included).
I would only be worried for cases where no warning is issued *and*
unitialized accesses are eliminated.