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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.base/] [macscp1.c] - Blame information for rev 816

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 227 jeremybenn
#include <stdio.h>
2
 
3
#define SPLICE(a, b) INNER_SPLICE(a, b)
4
#define INNER_SPLICE(a, b) a ## b
5
#define STRINGIFY(a) INNER_STRINGIFY(a)
6
#define INNER_STRINGIFY(a) #a
7
 
8
#define FIFTY_SEVEN 57
9
 
10
#define FORTY_EIGHT 48
11
#undef  FORTY_EIGHT
12
 
13
struct outer
14
{
15
  struct fields
16
  {
17
    struct fault
18
    {
19
      int addr;
20
    } fault;
21
  } fields;
22
};
23
struct outer address;
24
 
25
#define addr fields.fault.addr
26
 
27
/* A macro named UNTIL_<func> is #defined until just before the
28
   definition of the function <func>.
29
 
30
   A macro named BEFORE_<func> is not #defined until just before the
31
   definition of <func>.
32
 
33
   The macro WHERE is redefined before each function <func> to the
34
   token list ``before <func>''.
35
 
36
   The macscp IN_MACSCP2_H and IN_MACSCP3_H are defined while
37
   processing those header files; macscp4.h uses them to choose
38
   appropriate function names, output strings, and macro definitions.  */
39
 
40
#define UNTIL_MACSCP1_1
41
#define UNTIL_MACSCP2_1
42
#define UNTIL_MACSCP4_1_FROM_MACSCP2
43
#define UNTIL_MACSCP4_2_FROM_MACSCP2
44
#define UNTIL_MACSCP2_2
45
#define UNTIL_MACSCP1_2
46
#define UNTIL_MACSCP3_1
47
#define UNTIL_MACSCP4_1_FROM_MACSCP3
48
#define UNTIL_MACSCP4_2_FROM_MACSCP3
49
#define UNTIL_MACSCP3_2
50
#define UNTIL_MACSCP1_3
51
 
52
#define WHERE before macscp1_1
53
#define BEFORE_MACSCP1_1
54
#undef UNTIL_MACSCP1_1
55
void
56
macscp1_1 ()
57
{
58
  puts ("macscp1_1");
59
}
60
 
61
#include "macscp2.h"
62
 
63
#undef WHERE
64
#define WHERE before macscp1_2
65
#define BEFORE_MACSCP1_2
66
#undef UNTIL_MACSCP1_2
67
void
68
macscp1_2 ()
69
{
70
  puts ("macscp1_2");
71
}
72
 
73
#include "macscp3.h"
74
 
75
#undef WHERE
76
#define WHERE before macscp1_3
77
#define BEFORE_MACSCP1_3
78
#undef UNTIL_MACSCP1_3
79
void
80
macscp1_3 ()
81
{
82
  puts ("macscp1_3");
83
}
84
 
85
void
86
macscp_expr (void)
87
{
88
  int foo = -1;
89
 
90
  foo = 0;  /* set breakpoint here */
91
#define MACRO_TO_EXPAND foo
92
  foo = 1;
93
#undef MACRO_TO_EXPAND
94
  foo = 2;
95
}
96
 
97
#define TWENTY_THREE 23
98
 
99
int
100
main (int argc, char **argv)
101
{
102
  macscp1_1 ();
103
  macscp2_1 ();
104
  macscp4_1_from_macscp2 ();
105
  macscp4_2_from_macscp2 ();
106
  macscp2_2 ();
107
  macscp1_2 ();
108
  macscp3_1 ();
109
  macscp4_1_from_macscp3 ();
110
  macscp4_2_from_macscp3 ();
111
  macscp3_2 ();
112
  macscp1_3 ();
113
  macscp_expr ();
114
}

powered by: WebSVN 2.1.0

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