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/] [strstr-asm.c] - Diff between revs 149 and 154

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

Rev 149 Rev 154
/* Copyright (C) 2000, 2003  Free Software Foundation.
/* Copyright (C) 2000, 2003  Free Software Foundation.
 
 
   Ensure all expected transformations of builtin strstr occur and
   Ensure all expected transformations of builtin strstr occur and
   perform correctly in presence of redirect.  */
   perform correctly in presence of redirect.  */
 
 
#define ASMNAME(cname)  ASMNAME2 (__USER_LABEL_PREFIX__, cname)
#define ASMNAME(cname)  ASMNAME2 (__USER_LABEL_PREFIX__, cname)
#define ASMNAME2(prefix, cname) STRING (prefix) cname
#define ASMNAME2(prefix, cname) STRING (prefix) cname
#define STRING(x)    #x
#define STRING(x)    #x
 
 
typedef __SIZE_TYPE__ size_t;
typedef __SIZE_TYPE__ size_t;
extern void abort (void);
extern void abort (void);
extern char *strstr (const char *, const char *)
extern char *strstr (const char *, const char *)
  __asm (ASMNAME ("my_strstr"));
  __asm (ASMNAME ("my_strstr"));
 
 
const char *p = "rld", *q = "hello world";
const char *p = "rld", *q = "hello world";
 
 
void
void
main_test (void)
main_test (void)
{
{
  const char *const foo = "hello world";
  const char *const foo = "hello world";
 
 
  if (strstr (foo, "") != foo)
  if (strstr (foo, "") != foo)
    abort ();
    abort ();
  if (strstr (foo + 4, "") != foo + 4)
  if (strstr (foo + 4, "") != foo + 4)
    abort ();
    abort ();
  if (strstr (foo, "h") != foo)
  if (strstr (foo, "h") != foo)
    abort ();
    abort ();
  if (strstr (foo, "w") != foo + 6)
  if (strstr (foo, "w") != foo + 6)
    abort ();
    abort ();
  if (strstr (foo + 6, "o") != foo + 7)
  if (strstr (foo + 6, "o") != foo + 7)
    abort ();
    abort ();
  if (strstr (foo + 1, "world") != foo + 6)
  if (strstr (foo + 1, "world") != foo + 6)
    abort ();
    abort ();
  if (strstr (foo + 2, p) != foo + 8)
  if (strstr (foo + 2, p) != foo + 8)
    abort ();
    abort ();
  if (strstr (q, "") != q)
  if (strstr (q, "") != q)
    abort ();
    abort ();
  if (strstr (q + 1, "o") != q + 4)
  if (strstr (q + 1, "o") != q + 4)
    abort ();
    abort ();
 
 
  /* Test at least one instance of the __builtin_ style.  We do this
  /* Test at least one instance of the __builtin_ style.  We do this
     to ensure that it works and that the prototype is correct.  */
     to ensure that it works and that the prototype is correct.  */
  if (__builtin_strstr (foo + 1, "world") != foo + 6)
  if (__builtin_strstr (foo + 1, "world") != foo + 6)
    abort ();
    abort ();
}
}
 
 

powered by: WebSVN 2.1.0

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