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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [gcc.dg/] [compat/] [struct-by-value-22_x.c] - Blame information for rev 816

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 149 jeremybenn
#ifndef T
2
#include "compat-common.h"
3
#include "mixed-struct-defs.h"
4
#include "mixed-struct-init.h"
5
 
6
#define T(NAME, FIELDS, TYPE, FIELDINIT, FIELDTEST)                     \
7
extern void testva##NAME (int n, ...);                                  \
8
                                                                        \
9
void                                                                    \
10
testit##NAME (int n)                                                    \
11
{                                                                       \
12
  struct S { FIELDS TYPE a[n]; } s;                                     \
13
  int i;                                                                \
14
  FIELDINIT;                                                            \
15
  for (i = 0; i < n; ++i)                                                \
16
    s.a[i] = 12 + n - i;                                                \
17
  testva##NAME (n, s, n, s);                                            \
18
}
19
 
20
#include "struct-by-value-22_x.c"
21
 
22
#undef T
23
 
24
void
25
struct_by_value_22_x ()
26
{
27
  int n;
28
DEBUG_INIT
29
 
30
#define T(NAME, FIELDS, TYPE, FIELDINIT, FIELDTEST) testit##NAME (n);
31
 
32
  for (n = 0; n < 16; ++n)
33
    {
34
#include "struct-by-value-22_x.c"
35
      DEBUG_NL;
36
    }
37
  for (; n < 110; n += 13)
38
    {
39
#include "struct-by-value-22_x.c"
40
      DEBUG_NL;
41
    }
42
 
43
DEBUG_FINI
44
 
45
if (fails != 0)
46
  abort ();
47
}
48
 
49
#else
50
 
51
#define S(NAME, FIELDS, FIELDINIT, FIELDTEST)                           \
52
  T(c##NAME, FIELDS, char, FIELDINIT, FIELDTEST)                        \
53
  T(s##NAME, FIELDS, short, FIELDINIT, FIELDTEST)                       \
54
  T(u##NAME, FIELDS, unsigned, FIELDINIT, FIELDTEST)                    \
55
  T(d##NAME, FIELDS, double, FIELDINIT, FIELDTEST)
56
S(E, , do {} while (0), DEBUG_DOT)
57
S(n, int n;, s.n = n, if (s.n != n) DEBUG_CHECK)
58
#define U(TYPE)                                                         \
59
S(TYPE, TYPE s;, init##TYPE (&s.s, n), check##TYPE (s.s, n))
60
U(Scd)
61
U(Scdc)
62
U(Sd)
63
U(Sdi)
64
U(Scsds)
65
U(Scsdsc)
66
U(Scsdis)
67
U(Scsdisc)
68
U(Ssds)
69
U(Ssdsc)
70
U(Scssdss)
71
U(Scssdssc)
72
U(Sfi)
73
U(Sfii)
74
U(Sfifi)
75
U(Sfiifii)
76
#undef S
77
#undef U
78
 
79
#endif

powered by: WebSVN 2.1.0

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