[LLVMbugs] [Bug 9061] New: -Wuninitialized false positive

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jan 26 16:49:29 PST 2011


http://llvm.org/bugs/show_bug.cgi?id=9061

           Summary: -Wuninitialized false positive
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Static Analyzer
        AssignedTo: kremenek at apple.com
        ReportedBy: nicolasweber at gmx.de
                CC: llvmbugs at cs.uiuc.edu


>From chrome code:

  bool did_work;
  for (int i = 0; i < 100; ++i) {
    DeletePendingTasks();
    ReloadWorkQueue();
    // If we end up with empty queues, then break out of the loop.
    did_work = DeletePendingTasks();
    if (!did_work)
      break;
  }
  DCHECK(!did_work);



clang complains:


/Volumes/MacintoshHD2/src/chrome-git/src/base/message_loop.cc:168:3: error: use
of uninitialized variable 'did_work' [-Wuninitialized]
  bool did_work;
  ^~~~~~~~~~~~~
In file included from
/Volumes/MacintoshHD2/src/chrome-git/src/base/message_loop.cc:5:
In file included from ../base/message_loop.h:13:
In file included from ../base/message_pump.h:9:
In file included from ../base/ref_counted.h:9:
In file included from ../base/atomic_ref_count.h:15:
In file included from ../base/atomicops.h:139:
In file included from ../base/atomicops_internals_x86_macosx.h:11:
In file included from
/Developer/SDKs/MacOSX10.5.sdk/usr/include/libkern/OSAtomic.h:30:
/Volumes/MacintoshHD2/src/llvm-svn/Release+Asserts/bin/../lib/clang/2.9/include/stdbool.h:37:15:
note: instantiated from:
#define bool  bool
              ^
/Volumes/MacintoshHD2/src/chrome-git/src/base/message_loop.cc:177:3: note:
variable 'did_work' is possibly uninitialized when used here
  DCHECK(!did_work);
  ^~~~~~~~~~~~~~~~~


and suggests adding `= 0`.

Two bugs:
a) The warning is a false positive
b) clang should suggest `= false;`

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list