modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/execute/builtins/lib/memcmp.c (about) 1 extern void abort(void); 2 extern int inside_main; 3 4 __attribute__ ((__noinline__)) 5 int 6 memcmp (const void *s1, const void *s2, __SIZE_TYPE__ len) 7 { 8 const unsigned char *sp1, *sp2; 9 10 #ifdef __OPTIMIZE__ 11 if (inside_main) 12 abort (); 13 #endif 14 15 sp1 = s1; 16 sp2 = s2; 17 while (len != 0 && *sp1 == *sp2) 18 sp1++, sp2++, len--; 19 20 if (len == 0) 21 return 0; 22 return *sp1 - *sp2; 23 }