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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [gcc.c-torture/] [execute/] [strct-varg-1.c] - Diff between revs 297 and 338

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

Rev 297 Rev 338
#include <stdarg.h>
#include <stdarg.h>
 
 
struct s { int x, y; };
struct s { int x, y; };
 
 
f (int attr, ...)
f (int attr, ...)
{
{
  struct s va_values;
  struct s va_values;
  va_list va;
  va_list va;
  int i;
  int i;
 
 
  va_start (va, attr);
  va_start (va, attr);
 
 
  if (attr != 2)
  if (attr != 2)
    abort ();
    abort ();
 
 
  va_values = va_arg (va, struct s);
  va_values = va_arg (va, struct s);
  if (va_values.x != 0xaaaa || va_values.y != 0x5555)
  if (va_values.x != 0xaaaa || va_values.y != 0x5555)
    abort ();
    abort ();
 
 
  attr = va_arg (va, int);
  attr = va_arg (va, int);
  if (attr != 3)
  if (attr != 3)
    abort ();
    abort ();
 
 
  va_values = va_arg (va, struct s);
  va_values = va_arg (va, struct s);
  if (va_values.x != 0xffff || va_values.y != 0x1111)
  if (va_values.x != 0xffff || va_values.y != 0x1111)
    abort ();
    abort ();
 
 
  va_end (va);
  va_end (va);
}
}
 
 
main ()
main ()
{
{
  struct s a, b;
  struct s a, b;
 
 
  a.x = 0xaaaa;
  a.x = 0xaaaa;
  a.y = 0x5555;
  a.y = 0x5555;
  b.x = 0xffff;
  b.x = 0xffff;
  b.y = 0x1111;
  b.y = 0x1111;
 
 
  f (2, a, 3, b);
  f (2, a, 3, b);
  exit (0);
  exit (0);
}
}
 
 

powered by: WebSVN 2.1.0

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