OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [builtins/] [strncmp-2.c] - Diff between revs 149 and 154

Only display areas with differences | Details | Blame | View Log

Rev 149 Rev 154
/* Copyright (C) 2000, 2001, 2003, 2005  Free Software Foundation.
/* Copyright (C) 2000, 2001, 2003, 2005  Free Software Foundation.
 
 
   Ensure all expected transformations of builtin strncmp occur and
   Ensure all expected transformations of builtin strncmp occur and
   perform correctly.
   perform correctly.
 
 
   Written by Kaveh R. Ghazi, 11/26/2000.  */
   Written by Kaveh R. Ghazi, 11/26/2000.  */
 
 
extern void abort (void);
extern void abort (void);
typedef __SIZE_TYPE__ size_t;
typedef __SIZE_TYPE__ size_t;
extern int strncmp (const char *, const char *, size_t);
extern int strncmp (const char *, const char *, size_t);
 
 
void
void
main_test (void)
main_test (void)
{
{
#if !defined(__OPTIMIZE__) || ((defined(__i386__) || defined (__x86_64__)) && !defined(__OPTIMIZE_SIZE__))
#if !defined(__OPTIMIZE__) || ((defined(__i386__) || defined (__x86_64__)) && !defined(__OPTIMIZE_SIZE__))
  /* These tests work on platforms which support cmpstrsi.  We test it
  /* These tests work on platforms which support cmpstrsi.  We test it
     at -O0 on all platforms to ensure the strncmp logic is correct.  */
     at -O0 on all platforms to ensure the strncmp logic is correct.  */
  const char *const s1 = "hello world";
  const char *const s1 = "hello world";
  const char *s2;
  const char *s2;
  int n = 6, x;
  int n = 6, x;
 
 
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "ello", 3) != 0 || s2 != s1+1)
  if (strncmp (++s2, "ello", 3) != 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("ello", ++s2, 3) != 0 || s2 != s1+1)
  if (strncmp ("ello", ++s2, 3) != 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "ello", 4) != 0 || s2 != s1+1)
  if (strncmp (++s2, "ello", 4) != 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("ello", ++s2, 4) != 0 || s2 != s1+1)
  if (strncmp ("ello", ++s2, 4) != 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "ello", 5) <= 0 || s2 != s1+1)
  if (strncmp (++s2, "ello", 5) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("ello", ++s2, 5) >= 0 || s2 != s1+1)
  if (strncmp ("ello", ++s2, 5) >= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "ello", 6) <= 0 || s2 != s1+1)
  if (strncmp (++s2, "ello", 6) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("ello", ++s2, 6) >= 0 || s2 != s1+1)
  if (strncmp ("ello", ++s2, 6) >= 0 || s2 != s1+1)
    abort();
    abort();
 
 
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "zllo", 3) >= 0 || s2 != s1+1)
  if (strncmp (++s2, "zllo", 3) >= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("zllo", ++s2, 3) <= 0 || s2 != s1+1)
  if (strncmp ("zllo", ++s2, 3) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "zllo", 4) >= 0 || s2 != s1+1)
  if (strncmp (++s2, "zllo", 4) >= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("zllo", ++s2, 4) <= 0 || s2 != s1+1)
  if (strncmp ("zllo", ++s2, 4) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "zllo", 5) >= 0 || s2 != s1+1)
  if (strncmp (++s2, "zllo", 5) >= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("zllo", ++s2, 5) <= 0 || s2 != s1+1)
  if (strncmp ("zllo", ++s2, 5) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "zllo", 6) >= 0 || s2 != s1+1)
  if (strncmp (++s2, "zllo", 6) >= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("zllo", ++s2, 6) <= 0 || s2 != s1+1)
  if (strncmp ("zllo", ++s2, 6) <= 0 || s2 != s1+1)
    abort();
    abort();
 
 
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "allo", 3) <= 0 || s2 != s1+1)
  if (strncmp (++s2, "allo", 3) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("allo", ++s2, 3) >= 0 || s2 != s1+1)
  if (strncmp ("allo", ++s2, 3) >= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "allo", 4) <= 0 || s2 != s1+1)
  if (strncmp (++s2, "allo", 4) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("allo", ++s2, 4) >= 0 || s2 != s1+1)
  if (strncmp ("allo", ++s2, 4) >= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "allo", 5) <= 0 || s2 != s1+1)
  if (strncmp (++s2, "allo", 5) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("allo", ++s2, 5) >= 0 || s2 != s1+1)
  if (strncmp ("allo", ++s2, 5) >= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp (++s2, "allo", 6) <= 0 || s2 != s1+1)
  if (strncmp (++s2, "allo", 6) <= 0 || s2 != s1+1)
    abort();
    abort();
  s2 = s1;
  s2 = s1;
  if (strncmp ("allo", ++s2, 6) >= 0 || s2 != s1+1)
  if (strncmp ("allo", ++s2, 6) >= 0 || s2 != s1+1)
    abort();
    abort();
 
 
  s2 = s1; n = 2; x = 1;
  s2 = s1; n = 2; x = 1;
  if (strncmp (++s2, s1+(x&3), ++n) != 0 || s2 != s1+1 || n != 3)
  if (strncmp (++s2, s1+(x&3), ++n) != 0 || s2 != s1+1 || n != 3)
    abort();
    abort();
  s2 = s1; n = 2; x = 1;
  s2 = s1; n = 2; x = 1;
  if (strncmp (s1+(x&3), ++s2, ++n) != 0 || s2 != s1+1 || n != 3)
  if (strncmp (s1+(x&3), ++s2, ++n) != 0 || s2 != s1+1 || n != 3)
    abort();
    abort();
  s2 = s1; n = 3; x = 1;
  s2 = s1; n = 3; x = 1;
  if (strncmp (++s2, s1+(x&3), ++n) != 0 || s2 != s1+1 || n != 4)
  if (strncmp (++s2, s1+(x&3), ++n) != 0 || s2 != s1+1 || n != 4)
    abort();
    abort();
  s2 = s1; n = 3; x = 1;
  s2 = s1; n = 3; x = 1;
  if (strncmp (s1+(x&3), ++s2, ++n) != 0 || s2 != s1+1 || n != 4)
  if (strncmp (s1+(x&3), ++s2, ++n) != 0 || s2 != s1+1 || n != 4)
    abort();
    abort();
  s2 = s1; n = 4; x = 1;
  s2 = s1; n = 4; x = 1;
  if (strncmp (++s2, s1+(x&3), ++n) != 0 || s2 != s1+1 || n != 5)
  if (strncmp (++s2, s1+(x&3), ++n) != 0 || s2 != s1+1 || n != 5)
    abort();
    abort();
  s2 = s1; n = 4; x = 1;
  s2 = s1; n = 4; x = 1;
  if (strncmp (s1+(x&3), ++s2, ++n) != 0 || s2 != s1+1 || n != 5)
  if (strncmp (s1+(x&3), ++s2, ++n) != 0 || s2 != s1+1 || n != 5)
    abort();
    abort();
  s2 = s1; n = 5; x = 1;
  s2 = s1; n = 5; x = 1;
  if (strncmp (++s2, s1+(x&3), ++n) != 0 || s2 != s1+1 || n != 6)
  if (strncmp (++s2, s1+(x&3), ++n) != 0 || s2 != s1+1 || n != 6)
    abort();
    abort();
  s2 = s1; n = 5; x = 1;
  s2 = s1; n = 5; x = 1;
  if (strncmp (s1+(x&3), ++s2, ++n) != 0 || s2 != s1+1 || n != 6)
  if (strncmp (s1+(x&3), ++s2, ++n) != 0 || s2 != s1+1 || n != 6)
    abort();
    abort();
 
 
  s2 = s1; n = 2;
  s2 = s1; n = 2;
  if (strncmp (++s2, "zllo", ++n) >= 0 || s2 != s1+1 || n != 3)
  if (strncmp (++s2, "zllo", ++n) >= 0 || s2 != s1+1 || n != 3)
    abort();
    abort();
  s2 = s1; n = 2; x = 1;
  s2 = s1; n = 2; x = 1;
  if (strncmp ("zllo", ++s2, ++n) <= 0 || s2 != s1+1 || n != 3)
  if (strncmp ("zllo", ++s2, ++n) <= 0 || s2 != s1+1 || n != 3)
    abort();
    abort();
  s2 = s1; n = 3; x = 1;
  s2 = s1; n = 3; x = 1;
  if (strncmp (++s2, "zllo", ++n) >= 0 || s2 != s1+1 || n != 4)
  if (strncmp (++s2, "zllo", ++n) >= 0 || s2 != s1+1 || n != 4)
    abort();
    abort();
  s2 = s1; n = 3; x = 1;
  s2 = s1; n = 3; x = 1;
  if (strncmp ("zllo", ++s2, ++n) <= 0 || s2 != s1+1 || n != 4)
  if (strncmp ("zllo", ++s2, ++n) <= 0 || s2 != s1+1 || n != 4)
    abort();
    abort();
  s2 = s1; n = 4; x = 1;
  s2 = s1; n = 4; x = 1;
  if (strncmp (++s2, "zllo", ++n) >= 0 || s2 != s1+1 || n != 5)
  if (strncmp (++s2, "zllo", ++n) >= 0 || s2 != s1+1 || n != 5)
    abort();
    abort();
  s2 = s1; n = 4; x = 1;
  s2 = s1; n = 4; x = 1;
  if (strncmp ("zllo", ++s2, ++n) <= 0 || s2 != s1+1 || n != 5)
  if (strncmp ("zllo", ++s2, ++n) <= 0 || s2 != s1+1 || n != 5)
    abort();
    abort();
  s2 = s1; n = 5; x = 1;
  s2 = s1; n = 5; x = 1;
  if (strncmp (++s2, "zllo", ++n) >= 0 || s2 != s1+1 || n != 6)
  if (strncmp (++s2, "zllo", ++n) >= 0 || s2 != s1+1 || n != 6)
    abort();
    abort();
  s2 = s1; n = 5; x = 1;
  s2 = s1; n = 5; x = 1;
  if (strncmp ("zllo", ++s2, ++n) <= 0 || s2 != s1+1 || n != 6)
  if (strncmp ("zllo", ++s2, ++n) <= 0 || s2 != s1+1 || n != 6)
    abort();
    abort();
 
 
  s2 = s1; n = 2;
  s2 = s1; n = 2;
  if (strncmp (++s2, "allo", ++n) <= 0 || s2 != s1+1 || n != 3)
  if (strncmp (++s2, "allo", ++n) <= 0 || s2 != s1+1 || n != 3)
    abort();
    abort();
  s2 = s1; n = 2; x = 1;
  s2 = s1; n = 2; x = 1;
  if (strncmp ("allo", ++s2, ++n) >= 0 || s2 != s1+1 || n != 3)
  if (strncmp ("allo", ++s2, ++n) >= 0 || s2 != s1+1 || n != 3)
    abort();
    abort();
  s2 = s1; n = 3; x = 1;
  s2 = s1; n = 3; x = 1;
  if (strncmp (++s2, "allo", ++n) <= 0 || s2 != s1+1 || n != 4)
  if (strncmp (++s2, "allo", ++n) <= 0 || s2 != s1+1 || n != 4)
    abort();
    abort();
  s2 = s1; n = 3; x = 1;
  s2 = s1; n = 3; x = 1;
  if (strncmp ("allo", ++s2, ++n) >= 0 || s2 != s1+1 || n != 4)
  if (strncmp ("allo", ++s2, ++n) >= 0 || s2 != s1+1 || n != 4)
    abort();
    abort();
  s2 = s1; n = 4; x = 1;
  s2 = s1; n = 4; x = 1;
  if (strncmp (++s2, "allo", ++n) <= 0 || s2 != s1+1 || n != 5)
  if (strncmp (++s2, "allo", ++n) <= 0 || s2 != s1+1 || n != 5)
    abort();
    abort();
  s2 = s1; n = 4; x = 1;
  s2 = s1; n = 4; x = 1;
  if (strncmp ("allo", ++s2, ++n) >= 0 || s2 != s1+1 || n != 5)
  if (strncmp ("allo", ++s2, ++n) >= 0 || s2 != s1+1 || n != 5)
    abort();
    abort();
  s2 = s1; n = 5; x = 1;
  s2 = s1; n = 5; x = 1;
  if (strncmp (++s2, "allo", ++n) <= 0 || s2 != s1+1 || n != 6)
  if (strncmp (++s2, "allo", ++n) <= 0 || s2 != s1+1 || n != 6)
    abort();
    abort();
  s2 = s1; n = 5; x = 1;
  s2 = s1; n = 5; x = 1;
  if (strncmp ("allo", ++s2, ++n) >= 0 || s2 != s1+1 || n != 6)
  if (strncmp ("allo", ++s2, ++n) >= 0 || s2 != s1+1 || n != 6)
    abort();
    abort();
 
 
#endif  
#endif  
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.