This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug sanitizer/64906] New: -fsanitize=integer-divide-by-zero creates false -Wmaybe-uninitialized warning


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64906

            Bug ID: 64906
           Summary: -fsanitize=integer-divide-by-zero creates false
                    -Wmaybe-uninitialized warning
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sirl at gcc dot gnu.org
                CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
                    jakub at gcc dot gnu.org, kcc at gcc dot gnu.org

This testcase produces a false warning when compiled with -O2
-fsanitize=integer-divide-by-zero -Wmaybe-uninitialized:

struct s {
    __SIZE_TYPE__ size;
    unsigned int flags;
};

int testf(struct s * source)
{
    __SIZE_TYPE__ msize = 0;
    if ((source->flags & 88) ? (__SIZE_TYPE__) 43 * 8 : 0)
        msize = source->size / ((source->flags & 88) ? (__SIZE_TYPE__) 43 * 8:
0);
    return msize;
}

test.c: In function 'testf':
test.c:11:8: warning: 'iftmp.1' may be used uninitialized in this function
[-Wmaybe-uninitialized]
  msize = source->size / ((source->flags & 88) ? (__SIZE_TYPE__) 43 * 8: 0);
        ^


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]