OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [gcc.dg/] [compat/] [struct-by-value-2_y.c] - Diff between revs 298 and 384

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

Rev 298 Rev 384
#include <stdarg.h>
#include <stdarg.h>
 
 
#include "compat-common.h"
#include "compat-common.h"
 
 
#ifdef SKIP_VA
#ifdef SKIP_VA
const int test_va = 0;
const int test_va = 0;
#else
#else
const int test_va = 1;
const int test_va = 1;
#endif
#endif
 
 
#define T(N, NAME, TYPE)                                        \
#define T(N, NAME, TYPE)                                        \
struct S##NAME##N { TYPE i[N]; };                               \
struct S##NAME##N { TYPE i[N]; };                               \
                                                                \
                                                                \
extern struct S##NAME##N g1s##NAME##N, g2s##NAME##N;            \
extern struct S##NAME##N g1s##NAME##N, g2s##NAME##N;            \
extern struct S##NAME##N g3s##NAME##N, g4s##NAME##N;            \
extern struct S##NAME##N g3s##NAME##N, g4s##NAME##N;            \
extern struct S##NAME##N g5s##NAME##N, g6s##NAME##N;            \
extern struct S##NAME##N g5s##NAME##N, g6s##NAME##N;            \
extern struct S##NAME##N g7s##NAME##N, g8s##NAME##N;            \
extern struct S##NAME##N g7s##NAME##N, g8s##NAME##N;            \
extern struct S##NAME##N g9s##NAME##N, g10s##NAME##N;           \
extern struct S##NAME##N g9s##NAME##N, g10s##NAME##N;           \
extern struct S##NAME##N g11s##NAME##N, g12s##NAME##N;          \
extern struct S##NAME##N g11s##NAME##N, g12s##NAME##N;          \
extern struct S##NAME##N g13s##NAME##N, g14s##NAME##N;          \
extern struct S##NAME##N g13s##NAME##N, g14s##NAME##N;          \
extern struct S##NAME##N g15s##NAME##N, g16s##NAME##N;          \
extern struct S##NAME##N g15s##NAME##N, g16s##NAME##N;          \
                                                                \
                                                                \
extern void check##NAME##N (struct S##NAME##N *p, int i);       \
extern void check##NAME##N (struct S##NAME##N *p, int i);       \
extern void                                                     \
extern void                                                     \
test2_##NAME##N (struct S##NAME##N s1, struct S##NAME##N s2,    \
test2_##NAME##N (struct S##NAME##N s1, struct S##NAME##N s2,    \
                 struct S##NAME##N s3, struct S##NAME##N s4,    \
                 struct S##NAME##N s3, struct S##NAME##N s4,    \
                 struct S##NAME##N s5, struct S##NAME##N s6,    \
                 struct S##NAME##N s5, struct S##NAME##N s6,    \
                 struct S##NAME##N s7, struct S##NAME##N s8);   \
                 struct S##NAME##N s7, struct S##NAME##N s8);   \
                                                                \
                                                                \
void                                                            \
void                                                            \
init##NAME##N (struct S##NAME##N *p, int i)                     \
init##NAME##N (struct S##NAME##N *p, int i)                     \
{                                                               \
{                                                               \
  int j;                                                        \
  int j;                                                        \
  for (j = 0; j < N; j++)                                        \
  for (j = 0; j < N; j++)                                        \
    p->i[j] = i + j;                                            \
    p->i[j] = i + j;                                            \
}                                                               \
}                                                               \
                                                                \
                                                                \
void                                                            \
void                                                            \
checkg##NAME##N (void)                                          \
checkg##NAME##N (void)                                          \
{                                                               \
{                                                               \
  check##NAME##N ( &g1s##NAME##N,  1*16);                       \
  check##NAME##N ( &g1s##NAME##N,  1*16);                       \
  check##NAME##N ( &g2s##NAME##N,  2*16);                       \
  check##NAME##N ( &g2s##NAME##N,  2*16);                       \
  check##NAME##N ( &g3s##NAME##N,  3*16);                       \
  check##NAME##N ( &g3s##NAME##N,  3*16);                       \
  check##NAME##N ( &g4s##NAME##N,  4*16);                       \
  check##NAME##N ( &g4s##NAME##N,  4*16);                       \
  check##NAME##N ( &g5s##NAME##N,  5*16);                       \
  check##NAME##N ( &g5s##NAME##N,  5*16);                       \
  check##NAME##N ( &g6s##NAME##N,  6*16);                       \
  check##NAME##N ( &g6s##NAME##N,  6*16);                       \
  check##NAME##N ( &g7s##NAME##N,  7*16);                       \
  check##NAME##N ( &g7s##NAME##N,  7*16);                       \
  check##NAME##N ( &g8s##NAME##N,  8*16);                       \
  check##NAME##N ( &g8s##NAME##N,  8*16);                       \
  check##NAME##N ( &g9s##NAME##N,  9*16);                       \
  check##NAME##N ( &g9s##NAME##N,  9*16);                       \
  check##NAME##N (&g10s##NAME##N, 10*16);                       \
  check##NAME##N (&g10s##NAME##N, 10*16);                       \
  check##NAME##N (&g11s##NAME##N, 11*16);                       \
  check##NAME##N (&g11s##NAME##N, 11*16);                       \
  check##NAME##N (&g12s##NAME##N, 12*16);                       \
  check##NAME##N (&g12s##NAME##N, 12*16);                       \
  check##NAME##N (&g13s##NAME##N, 13*16);                       \
  check##NAME##N (&g13s##NAME##N, 13*16);                       \
  check##NAME##N (&g14s##NAME##N, 14*16);                       \
  check##NAME##N (&g14s##NAME##N, 14*16);                       \
  check##NAME##N (&g15s##NAME##N, 15*16);                       \
  check##NAME##N (&g15s##NAME##N, 15*16);                       \
  check##NAME##N (&g16s##NAME##N, 16*16);                       \
  check##NAME##N (&g16s##NAME##N, 16*16);                       \
}                                                               \
}                                                               \
                                                                \
                                                                \
void                                                            \
void                                                            \
test##NAME##N (struct S##NAME##N s1, struct S##NAME##N s2,      \
test##NAME##N (struct S##NAME##N s1, struct S##NAME##N s2,      \
               struct S##NAME##N s3, struct S##NAME##N s4,      \
               struct S##NAME##N s3, struct S##NAME##N s4,      \
               struct S##NAME##N s5, struct S##NAME##N s6,      \
               struct S##NAME##N s5, struct S##NAME##N s6,      \
               struct S##NAME##N s7, struct S##NAME##N s8,      \
               struct S##NAME##N s7, struct S##NAME##N s8,      \
               struct S##NAME##N s9, struct S##NAME##N s10,     \
               struct S##NAME##N s9, struct S##NAME##N s10,     \
               struct S##NAME##N s11, struct S##NAME##N s12,    \
               struct S##NAME##N s11, struct S##NAME##N s12,    \
               struct S##NAME##N s13, struct S##NAME##N s14,    \
               struct S##NAME##N s13, struct S##NAME##N s14,    \
               struct S##NAME##N s15, struct S##NAME##N s16)    \
               struct S##NAME##N s15, struct S##NAME##N s16)    \
{                                                               \
{                                                               \
  check##NAME##N (&s1, 1*16);                                   \
  check##NAME##N (&s1, 1*16);                                   \
  check##NAME##N (&s2, 2*16);                                   \
  check##NAME##N (&s2, 2*16);                                   \
  check##NAME##N (&s3, 3*16);                                   \
  check##NAME##N (&s3, 3*16);                                   \
  check##NAME##N (&s4, 4*16);                                   \
  check##NAME##N (&s4, 4*16);                                   \
  check##NAME##N (&s5, 5*16);                                   \
  check##NAME##N (&s5, 5*16);                                   \
  check##NAME##N (&s6, 6*16);                                   \
  check##NAME##N (&s6, 6*16);                                   \
  check##NAME##N (&s7, 7*16);                                   \
  check##NAME##N (&s7, 7*16);                                   \
  check##NAME##N (&s8, 8*16);                                   \
  check##NAME##N (&s8, 8*16);                                   \
  check##NAME##N (&s9, 9*16);                                   \
  check##NAME##N (&s9, 9*16);                                   \
  check##NAME##N (&s10, 10*16);                                 \
  check##NAME##N (&s10, 10*16);                                 \
  check##NAME##N (&s11, 11*16);                                 \
  check##NAME##N (&s11, 11*16);                                 \
  check##NAME##N (&s12, 12*16);                                 \
  check##NAME##N (&s12, 12*16);                                 \
  check##NAME##N (&s13, 13*16);                                 \
  check##NAME##N (&s13, 13*16);                                 \
  check##NAME##N (&s14, 14*16);                                 \
  check##NAME##N (&s14, 14*16);                                 \
  check##NAME##N (&s15, 15*16);                                 \
  check##NAME##N (&s15, 15*16);                                 \
  check##NAME##N (&s16, 16*16);                                 \
  check##NAME##N (&s16, 16*16);                                 \
}                                                               \
}                                                               \
                                                                \
                                                                \
void                                                            \
void                                                            \
testva##NAME##N (int n, ...)                                    \
testva##NAME##N (int n, ...)                                    \
{                                                               \
{                                                               \
  int i;                                                        \
  int i;                                                        \
  va_list ap;                                                   \
  va_list ap;                                                   \
  if (test_va)                                                  \
  if (test_va)                                                  \
    {                                                           \
    {                                                           \
      va_start (ap, n);                                         \
      va_start (ap, n);                                         \
      for (i = 0; i < n; i++)                                    \
      for (i = 0; i < n; i++)                                    \
        {                                                       \
        {                                                       \
          struct S##NAME##N t = va_arg (ap, struct S##NAME##N); \
          struct S##NAME##N t = va_arg (ap, struct S##NAME##N); \
          check##NAME##N (&t, (i+1)*16);                        \
          check##NAME##N (&t, (i+1)*16);                        \
        }                                                       \
        }                                                       \
      va_end (ap);                                              \
      va_end (ap);                                              \
    }                                                           \
    }                                                           \
}
}
 
 
#ifndef SKIP_ZERO_ARRAY
#ifndef SKIP_ZERO_ARRAY
T(0, uc, unsigned char)
T(0, uc, unsigned char)
#endif
#endif
T(1, uc, unsigned char)
T(1, uc, unsigned char)
T(2, uc, unsigned char)
T(2, uc, unsigned char)
T(3, uc, unsigned char)
T(3, uc, unsigned char)
T(4, uc, unsigned char)
T(4, uc, unsigned char)
T(5, uc, unsigned char)
T(5, uc, unsigned char)
T(6, uc, unsigned char)
T(6, uc, unsigned char)
T(7, uc, unsigned char)
T(7, uc, unsigned char)
T(8, uc, unsigned char)
T(8, uc, unsigned char)
T(9, uc, unsigned char)
T(9, uc, unsigned char)
T(10, uc, unsigned char)
T(10, uc, unsigned char)
T(11, uc, unsigned char)
T(11, uc, unsigned char)
T(12, uc, unsigned char)
T(12, uc, unsigned char)
T(13, uc, unsigned char)
T(13, uc, unsigned char)
T(14, uc, unsigned char)
T(14, uc, unsigned char)
T(15, uc, unsigned char)
T(15, uc, unsigned char)
#ifndef SKIP_ZERO_ARRAY
#ifndef SKIP_ZERO_ARRAY
T(0, us, unsigned short)
T(0, us, unsigned short)
#endif
#endif
T(1, us, unsigned short)
T(1, us, unsigned short)
T(2, us, unsigned short)
T(2, us, unsigned short)
T(3, us, unsigned short)
T(3, us, unsigned short)
T(4, us, unsigned short)
T(4, us, unsigned short)
T(5, us, unsigned short)
T(5, us, unsigned short)
T(6, us, unsigned short)
T(6, us, unsigned short)
T(7, us, unsigned short)
T(7, us, unsigned short)
T(8, us, unsigned short)
T(8, us, unsigned short)
T(9, us, unsigned short)
T(9, us, unsigned short)
T(10, us, unsigned short)
T(10, us, unsigned short)
T(11, us, unsigned short)
T(11, us, unsigned short)
T(12, us, unsigned short)
T(12, us, unsigned short)
T(13, us, unsigned short)
T(13, us, unsigned short)
T(14, us, unsigned short)
T(14, us, unsigned short)
T(15, us, unsigned short)
T(15, us, unsigned short)
#ifndef SKIP_ZERO_ARRAY
#ifndef SKIP_ZERO_ARRAY
T(0, ui, unsigned int)
T(0, ui, unsigned int)
#endif
#endif
T(1, ui, unsigned int)
T(1, ui, unsigned int)
T(2, ui, unsigned int)
T(2, ui, unsigned int)
T(3, ui, unsigned int)
T(3, ui, unsigned int)
T(4, ui, unsigned int)
T(4, ui, unsigned int)
T(5, ui, unsigned int)
T(5, ui, unsigned int)
T(6, ui, unsigned int)
T(6, ui, unsigned int)
T(7, ui, unsigned int)
T(7, ui, unsigned int)
T(8, ui, unsigned int)
T(8, ui, unsigned int)
T(9, ui, unsigned int)
T(9, ui, unsigned int)
T(10, ui, unsigned int)
T(10, ui, unsigned int)
T(11, ui, unsigned int)
T(11, ui, unsigned int)
T(12, ui, unsigned int)
T(12, ui, unsigned int)
T(13, ui, unsigned int)
T(13, ui, unsigned int)
T(14, ui, unsigned int)
T(14, ui, unsigned int)
T(15, ui, unsigned int)
T(15, ui, unsigned int)
 
 

powered by: WebSVN 2.1.0

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