https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70055
Bug ID: 70055 Summary: gcc.target/i386/chkp-stropt-16.c is incompatible with glibc 2.23 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: hjl.tools at gmail dot com CC: ienkovich at gcc dot gnu.org Target Milestone: --- <string.h> in glibc 2.23 has #if defined __USE_GNU && defined __OPTIMIZE__ \ && defined __extern_always_inline && __GNUC_PREREQ (3,2) # if !defined _FORCE_INLINES && !defined _HAVE_STRING_ARCH_mempcpy #undef mempcpy #undef __mempcpy #define mempcpy(dest, src, n) __mempcpy_inline (dest, src, n) #define __mempcpy(dest, src, n) __mempcpy_inline (dest, src, n) __extern_always_inline void * __mempcpy_inline (void *__restrict __dest, const void *__restrict __src, size_t __n) { return (char *) memcpy (__dest, __src, __n) + __n; } # endif #endif gcc.target/i386/chkp-stropt-16.c, gcc.target/i386/chkp-stropt-4.c and gcc.target/i386/chkp-stropt-8.c have #define _GNU_SOURCE #include "string.h" void test (int *buf1, int *buf2, size_t len) { mempcpy (buf1, buf2, len); } But GCC never sees mempcpy at all.