In the followin code fragment, obptr is wrongly 
reported as 'might be used uninitialized' where 
the same code causes now arning for x86 ...

static inline int vx_nofiles_task(struct task_struct *tsk)
{
        struct files_struct *files = tsk->files;
        unsigned long *obptr;
        int count, total;

        spin_lock(&files->file_lock);
        obptr = files->open_fds->fds_bits;
        count = files->max_fds / (sizeof(unsigned long) * 8);
        for (total = 0; count > 0; count--) {
                if (*obptr)
                        total += hweight_long(*obptr);
                obptr++;
        }
        spin_unlock(&files->file_lock);
        return total;
}

-- 
           Summary: warning: `obptr' might be used uninitialized in this
                    function
           Product: gcc
           Version: 3.3.4
            Status: UNCONFIRMED
          Severity: minor
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: herbert at 13thfloor dot at
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i586-mandrake-linux
GCC target triplet: ia64-unknown-linux


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

Reply via email to