https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85802
Bug ID: 85802
Summary: false-positive -Wmemset-elt-size when compiling C++
code
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mail at milianw dot de
Target Milestone: ---
$ cat test.c
#include <string.h>
int main()
{
const size_t MAX_SIZE = 1024;
char* buf[MAX_SIZE];
memset(buf, 0, MAX_SIZE);
return 0;
}
$ gcc -Wmemset-elt-size test.c
# no warnings
$ g++ -Wmemset-elt-size test.c
test.c: In function ‘int main()’:
test.c:7:28: warning: ‘memset’ used with length equal to number of elements
without multiplication by element size [-Wmemset-elt-size]
memset(buf, 0, MAX_SIZE);
$ g++ --version
g++ (GCC) 8.1.0
Adding an explicit `* sizeof(char)` doesn't help to silence the warning.