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

            Bug ID: 93266
           Summary: strlen pass could optimize strncpy with known strlen
                    (src) == 0 into memset
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

In:

char b[32];

void
foo ()
{
  char a[16];
  __builtin_memcpy (a, "\0foobarbazquuxy", 16);
  __builtin_strncpy (b, a, 32);
}

we could turn the strncpy into memset (b, ' ', 32);

Reply via email to