This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug sanitizer/64906] New: -fsanitize=integer-divide-by-zero creates false -Wmaybe-uninitialized warning
- From: "sirl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 02 Feb 2015 18:25:24 +0000
- Subject: [Bug sanitizer/64906] New: -fsanitize=integer-divide-by-zero creates false -Wmaybe-uninitialized warning
- Auto-submitted: auto-generated
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);
^