summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcmp.c
blob: 220499ab3171642355a3d767e41c63bfb1ad9860 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
extern void abort (void);
extern int inside_main;

int
strcmp (const char *s1, const char *s2)
{
#ifdef __OPTIMIZE__
  if (inside_main)
    abort ();
#endif

  while (*s1 != 0 && *s1 == *s2)
    s1++, s2++;

  if (*s1 == 0 || *s2 == 0)
    return (unsigned char) *s1 - (unsigned char) *s2;
  return *s1 - *s2;
}