The testcase fails at -O0. It's caused by using 'next_b' at line 13. It might
be 'curr_b' instead.

Strangely, gcc warns only at -O0:
$ gcc-4.6.0-pre9999 gcc.dg/vect/vect-cond-4.c -O0 -Wuninitialized
gcc.dg/vect/vect-cond-4.c: In function 'foo':
gcc.dg/vect/vect-cond-4.c:33:38: warning: 'next_b' may be used uninitialized in
this function [-Wuninitialized]
$ gcc-4.6.0-pre9999 gcc.dg/vect/vect-cond-4.c -O1 -Wuninitialized
$ gcc-4.6.0-pre9999 gcc.dg/vect/vect-cond-4.c -O2 -Wuninitialized
$ gcc-4.6.0-pre9999 gcc.dg/vect/vect-cond-4.c -O3 -Wuninitialized

...
foo (int z)
...
  int curr_a, flag, next_a, curr_b, next_b;
...
          curr_a = x > c[i] ? curr_a : z;
          curr_b = x > c[i] ? next_b : 5;
...


-- 
           Summary: gcc.dg/vect/vect-cond-4.c uses uninitialised variable
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: zsojka at seznam dot cz


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

Reply via email to