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

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

Rev 149 Rev 154
/* Copyright (C) 2000  Free Software Foundation.
/* Copyright (C) 2000  Free Software Foundation.
 
 
   Ensure all expected transformations of builtin printf occur and
   Ensure all expected transformations of builtin printf occur and
   that we honor side effects in the arguments.
   that we honor side effects in the arguments.
 
 
   Written by Kaveh R. Ghazi, 12/4/2000.  */
   Written by Kaveh R. Ghazi, 12/4/2000.  */
 
 
extern int printf (const char *, ...);
extern int printf (const char *, ...);
extern int printf_unlocked (const char *, ...);
extern int printf_unlocked (const char *, ...);
extern void abort(void);
extern void abort(void);
 
 
void
void
main_test (void)
main_test (void)
{
{
  const char *const s1 = "hello world";
  const char *const s1 = "hello world";
  const char *const s2[] = { s1, 0 }, *const*s3;
  const char *const s2[] = { s1, 0 }, *const*s3;
 
 
  printf ("%s\n", "hello");
  printf ("%s\n", "hello");
  printf ("%s\n", *s2);
  printf ("%s\n", *s2);
  s3 = s2;
  s3 = s2;
  printf ("%s\n", *s3++);
  printf ("%s\n", *s3++);
  if (s3 != s2+1 || *s3 != 0)
  if (s3 != s2+1 || *s3 != 0)
    abort();
    abort();
 
 
  printf ("%c", '\n');
  printf ("%c", '\n');
  printf ("%c", **s2);
  printf ("%c", **s2);
  s3 = s2;
  s3 = s2;
  printf ("%c", **s3++);
  printf ("%c", **s3++);
  if (s3 != s2+1 || *s3 != 0)
  if (s3 != s2+1 || *s3 != 0)
    abort();
    abort();
 
 
  printf ("");
  printf ("");
  printf ("%s", "");
  printf ("%s", "");
  printf ("\n");
  printf ("\n");
  printf ("%s", "\n");
  printf ("%s", "\n");
  printf ("hello world\n");
  printf ("hello world\n");
  printf ("%s", "hello world\n");
  printf ("%s", "hello world\n");
 
 
  /* 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.  */
  __builtin_printf ("%s\n", "hello");
  __builtin_printf ("%s\n", "hello");
  /* These builtin stubs are called by __builtin_printf, ensure their
  /* These builtin stubs are called by __builtin_printf, ensure their
     prototypes are set correctly too.  */
     prototypes are set correctly too.  */
  __builtin_putchar ('\n');
  __builtin_putchar ('\n');
  __builtin_puts ("hello");
  __builtin_puts ("hello");
  /* Check the unlocked style, these evaluate to nothing to avoid
  /* Check the unlocked style, these evaluate to nothing to avoid
     problems on systems without the unlocked functions.  */
     problems on systems without the unlocked functions.  */
  printf_unlocked ("");
  printf_unlocked ("");
  __builtin_printf_unlocked ("");
  __builtin_printf_unlocked ("");
  printf_unlocked ("%s", "");
  printf_unlocked ("%s", "");
  __builtin_printf_unlocked ("%s", "");
  __builtin_printf_unlocked ("%s", "");
}
}
 
 

powered by: WebSVN 2.1.0

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