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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.cp/] [namespace.cc] - Blame information for rev 231

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

Line No. Rev Author Line
1 227 jeremybenn
namespace AAA {
2
  char c;
3
  int i;
4
  int A_xyzq (int);
5
  char xyzq (char);
6
  class inA {
7
  public:
8
    int xx;
9
    int fum (int);
10
  };
11
  enum SomeEnum {
12
    ALPHA,
13
    BETA,
14
    DELTA
15
  };
16
};
17
 
18
int AAA::inA::fum (int i)
19
{
20
  return 10 + i;
21
}
22
 
23
namespace BBB {
24
  char c;
25
  int i;
26
  int B_xyzq (int);
27
  char xyzq (char);
28
 
29
  namespace CCC {
30
    char xyzq (char);
31
  };
32
 
33
  class Class {
34
  public:
35
    char xyzq (char);
36
    int dummy;
37
  };
38
};
39
 
40
int AAA::A_xyzq (int x)
41
{
42
  return 2 * x;
43
}
44
 
45
char AAA::xyzq (char c)
46
{
47
  return 'a';
48
}
49
 
50
 
51
int BBB::B_xyzq (int x)
52
{
53
  return 3 * x;
54
}
55
 
56
char BBB::xyzq (char c)
57
{
58
  return 'b';
59
}
60
 
61
char BBB::CCC::xyzq (char c)
62
{
63
  return 'z';
64
}
65
 
66
char BBB::Class::xyzq (char c)
67
{
68
  return 'o';
69
}
70
 
71
void marker1(void)
72
{
73
  return;
74
}
75
 
76
namespace
77
{
78
  int X = 9;
79
 
80
  namespace G
81
  {
82
    int Xg = 10;
83
 
84
    namespace
85
    {
86
      int XgX = 11;
87
    }
88
  }
89
}
90
 
91
namespace C
92
{
93
  int c = 1;
94
  int shadow = 12;
95
 
96
  class CClass {
97
  public:
98
    int x;
99
    class NestedClass {
100
    public:
101
      int y;
102
    };
103
  };
104
 
105
  void ensureRefs () {
106
    // NOTE (2004-04-23, carlton): This function is here only to make
107
    // sure that GCC 3.4 outputs debug info for these classes.
108
    static CClass *c = new CClass();
109
    static CClass::NestedClass *n = new CClass::NestedClass();
110
  }
111
 
112
  namespace
113
  {
114
    int cX = 6;
115
 
116
    namespace F
117
    {
118
      int cXf = 7;
119
 
120
      namespace
121
      {
122
        int cXfX = 8;
123
      }
124
    }
125
  }
126
 
127
  namespace C
128
  {
129
    int cc = 2;
130
  }
131
 
132
  namespace E
133
  {
134
    int ce = 4;
135
  }
136
 
137
  namespace D
138
  {
139
    int cd = 3;
140
    int shadow = 13;
141
 
142
    namespace E
143
    {
144
      int cde = 5;
145
    }
146
 
147
    void marker2 (void)
148
    {
149
      // NOTE: carlton/2003-04-23: I'm listing the expressions that I
150
      // plan to have GDB try to print out, just to make sure that the
151
      // compiler and I agree which ones should be legal!  It's easy
152
      // to screw up when testing the boundaries of namespace stuff.
153
      c;
154
      //cc;
155
      C::cc;
156
      cd;
157
      //C::D::cd;
158
      E::cde;
159
      shadow;
160
      //E::ce;
161
      cX;
162
      F::cXf;
163
      F::cXfX;
164
      X;
165
      G::Xg;
166
      //cXOtherFile;
167
      //XOtherFile;
168
      G::XgX;
169
 
170
      return;
171
    }
172
 
173
  }
174
}
175
 
176
extern int ensureOtherRefs ();
177
 
178
int main ()
179
{
180
  using AAA::inA;
181
  char c1;
182
  AAA::SomeEnum var = AAA::ALPHA;
183
 
184
  using namespace BBB;
185
 
186
  c1 = xyzq ('x');
187
  c1 = AAA::xyzq ('x');
188
  c1 = BBB::CCC::xyzq ('m');
189
 
190
  inA ina;
191
 
192
  ina.xx = 33;
193
 
194
  int y;
195
 
196
  y = AAA::A_xyzq (33);
197
  y += B_xyzq (44);
198
 
199
  BBB::Class cl;
200
 
201
  c1 = cl.xyzq('e');
202
 
203
  marker1();
204
 
205
  C::D::marker2 ();
206
 
207
  C::ensureRefs ();
208
  ensureOtherRefs ();
209
}

powered by: WebSVN 2.1.0

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