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.

Reply via email to