modernc.org/cc@v1.0.1/testdata/gcc-6.3.0/gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcmp.c (about)

     1  extern void abort (void);
     2  extern int inside_main;
     3  
     4  __attribute__ ((__noinline__))
     5  int
     6  strcmp (const char *s1, const char *s2)
     7  {
     8  #ifdef __OPTIMIZE__
     9    if (inside_main)
    10      abort ();
    11  #endif
    12  
    13    while (*s1 != 0 && *s1 == *s2)
    14      s1++, s2++;
    15  
    16    if (*s1 == 0 || *s2 == 0)
    17      return (unsigned char) *s1 - (unsigned char) *s2;
    18    return *s1 - *s2;
    19  }