~ubuntu-branches/ubuntu/quantal/aspectc++/quantal

« back to all changes in this revision

Viewing changes to Puma/gen-release/step2/src/PreFileIncluder.cc

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-04-10 17:40:52 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080410174052-xdnsm7oi8hauyyf1
Tags: 1.0pre4~svn.20080409+dfsg-3
Fix another missing include, this time in Ag++/StdSystem.cc

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
 
2
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
3
 
#ifndef __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
4
 
#define __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
5
 
#define __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreFileIncluder_cc__
6
 
#endif // __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
7
 
 
8
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
9
 
 
10
 
#line 11 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
3
#ifndef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
4
#define __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
5
#define __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreFileIncluder_cc__
 
6
#endif // __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
7
 
 
8
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
9
 
 
10
#line 11 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
11
11
 
12
12
#ifndef __ac_h_
13
13
#define __ac_h_
 
14
#ifdef __cplusplus
14
15
namespace AC {
15
16
  typedef const char* Type;
16
17
  enum JPType { CALL = 0x0004, EXECUTION = 0x0008, CONSTRUCTION = 0x0010, DESTRUCTION = 0x0020 };
25
26
    ~ResultBuffer () { ((T*)_data)->T::~T(); }
26
27
    operator T& () const { return *(T*)_data; }
27
28
  };
 
29
  template <typename T, typename N> struct TL {
 
30
    typedef T type; typedef N next; enum { ARGS = next::ARGS + 1 };
 
31
  };
 
32
  struct TLE { enum { ARGS = 0 }; };
 
33
  template <typename T> struct Referred { typedef T type; };
 
34
  template <typename T> struct Referred<T &> { typedef T type; };
 
35
  template <typename TL, int I> struct Arg {
 
36
    typedef typename Arg<typename TL::next, I - 1>::Type Type;
 
37
    typedef typename Referred<Type>::type ReferredType;
 
38
  };
 
39
  template <typename TL> struct Arg<TL, 0> {
 
40
    typedef typename TL::type Type;
 
41
    typedef typename Referred<Type>::type ReferredType;
 
42
  };
28
43
  template <class Aspect, int Index>
29
44
  struct CFlow {
30
45
    static int &instance () {
38
53
}
39
54
inline void * operator new (__SIZE_TYPE__, AC::AnyResultBuffer *p) { return p; }
40
55
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
 
56
#endif // __cplusplus
41
57
#endif // __ac_h_
42
58
 
43
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
44
 
 
45
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
46
 
 
47
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
59
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
60
 
 
61
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
62
 
 
63
#line 64 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
48
64
 
49
65
#ifndef __ac_fwd_PragmaOnce__
50
66
#define __ac_fwd_PragmaOnce__
51
67
class PragmaOnce;
52
68
namespace AC {
53
69
  template <class JoinPoint>
54
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
55
 
  template <class JoinPoint>
56
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
57
 
  template <class JoinPoint, class Binding>
58
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
59
 
  template <class JoinPoint>
60
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
 
70
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
 
71
  template <class JoinPoint>
 
72
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
 
73
  template <class JoinPoint>
 
74
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
 
75
  template <class JoinPoint>
 
76
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
61
77
}
62
78
#endif
63
79
 
64
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
65
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
80
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
81
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
66
82
#endif
67
83
 
68
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
84
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
69
85
// This file is part of PUMA.
70
86
// Copyright (C) 1999-2003  The PUMA developer team.
71
87
//                                                                
85
101
// MA  02111-1307  USA                                            
86
102
 
87
103
 
88
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenStream.h"
 
104
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenStream.h"
89
105
// This file is part of PUMA.
90
106
// Copyright (C) 1999-2003  The PUMA developer team.
91
107
//                                                                
112
128
// input files. 
113
129
 
114
130
 
115
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
 
131
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Array.h"
116
132
// This file is part of PUMA.
117
133
// Copyright (C) 1999-2003  The PUMA developer team.
118
134
//                                                                
138
154
 
139
155
namespace Puma {
140
156
 
141
 
 
142
 
#line 143 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
143
 
} // closed Puma
144
 
class WinIfExists;
145
 
class WinImportHandler;
146
 
class WinMacros;
147
 
class CMatchSyntax;
148
 
class ExtGnu;
149
 
class ExtAC;
150
 
class ExtACBuilderCoupling;
151
 
class ExtACSyntaxCoupling;
152
 
class ExtACTree;
153
 
class ExtACKeywords;
154
 
class WinAsm;
155
 
class WinDeclSpecs;
156
 
class WinMemberExplSpec;
157
 
class WinTypeKeywords;
158
 
class PragmaOnceUnitState;
159
 
class PragmaOnce;
160
 
class CCExprResolve;
161
 
class CExprResolve;
162
 
namespace Puma {
163
 
 
164
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
165
157
template <class Item>
166
158
class Array {
167
 
#line 168 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
168
 
  friend class ::WinIfExists;
169
 
  friend class ::WinImportHandler;
170
 
  friend class ::WinMacros;
171
 
  friend class ::CMatchSyntax;
172
 
  friend class ::ExtGnu;
173
 
  friend class ::ExtAC;
174
 
  friend class ::ExtACBuilderCoupling;
175
 
  friend class ::ExtACSyntaxCoupling;
176
 
  friend class ::ExtACTree;
177
 
  friend class ::ExtACKeywords;
178
 
  friend class ::WinAsm;
179
 
  friend class ::WinDeclSpecs;
180
 
  friend class ::WinMemberExplSpec;
181
 
  friend class ::WinTypeKeywords;
182
 
  friend class ::PragmaOnceUnitState;
183
 
  friend class ::PragmaOnce;
184
 
  friend class ::CCExprResolve;
185
 
  friend class ::CExprResolve;
186
 
 
187
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
188
 
 
189
 
   protected:
190
 
      static const long default_init_size = 5;
191
 
      static const long default_increment = 5;
192
 
 
193
 
   public:
194
 
      Array (long is = default_init_size, long incr = default_increment);
195
 
      Array (const Array<Item>& array);
196
 
      Array<Item>& operator =(const Array<Item>&);
197
 
      ~Array ();
198
 
      void append (const Item& item);
199
 
      void insert (long index, const Item& item);
200
 
      void prepend (const Item& item);
201
 
      void remove (long index);
202
 
      void reset ();
203
 
      Item& get (long index);
204
 
      Item& operator[] (long index);
205
 
      Item fetch (long index) const;
206
 
      Item& lookup (long index) const;
207
 
      long length () const;
208
 
 
209
 
   private:
210
 
      Item* data;
211
 
      long size;
212
 
      long count;
213
 
      long increment;
 
159
protected:
 
160
  static const long default_init_size = 5;
 
161
  static const long default_increment = 5;
 
162
 
 
163
public:
 
164
  Array (long is = default_init_size, long incr = default_increment);
 
165
  Array (const Array<Item>& array);
 
166
  Array<Item>& operator =(const Array<Item>&);
 
167
  ~Array ();
 
168
  void append (const Item& item);
 
169
  void insert (long index, const Item& item);
 
170
  void prepend (const Item& item);
 
171
  void remove (long index);
 
172
  void reset ();
 
173
  Item& get (long index);
 
174
  Item& operator[] (long index);
 
175
  Item fetch (long index) const;
 
176
  Item& lookup (long index) const;
 
177
  long length () const;
 
178
 
 
179
private:
 
180
  Item* data;
 
181
  long size;
 
182
  long count;
 
183
  long increment;
214
184
      
215
 
      void check (long wanted);
216
 
 };
217
 
 
218
 
template <class Item>
219
 
inline Array<Item>::Array (long is, long incr)
220
 
 {
221
 
   count     = 0; 
222
 
   size      = is;
223
 
   increment = incr;
224
 
   data      = new Item[size];
225
 
 }
226
 
 
227
 
template <class Item>
228
 
Array<Item>::Array (const Array<Item>& array)
229
 
 {
230
 
   count = 0;
231
 
   size  = array.size;
232
 
   data  = new Item[size];
233
 
   increment = array.increment;
234
 
 
235
 
   for (int pos = 0; pos < array.length (); pos++)
236
 
      append (array.lookup (pos));
237
 
 }
238
 
 
239
 
template <class Item>
240
 
Array<Item>& Array<Item>::operator =(const Array<Item>& array)
241
 
 {
242
 
   if (data)
243
 
      delete[] data;
244
 
   count = 0;
245
 
   size  = array.size;
246
 
   data  = new Item[size];
247
 
   increment = array.increment;
248
 
 
249
 
   for (int pos = 0; pos < array.length (); pos++)
250
 
      append (array.lookup (pos));
251
 
   return *this;
252
 
 }
253
 
 
254
 
template <class Item>
255
 
Array<Item>::~Array ()
256
 
 {
257
 
   if (data)
258
 
      delete[] data;
259
 
 }
260
 
 
261
 
template <class Item>
262
 
inline void Array<Item>::check (long wanted)
263
 
 {
264
 
   if (wanted >= size)
265
 
    {
266
 
      Item* new_data;
267
 
 
268
 
      while (wanted >= size)
269
 
      {
270
 
         size += increment;
271
 
         increment*=2;
272
 
      }
273
 
      new_data = new Item[size];
274
 
      for (int pos = 0; pos < count; pos++)
275
 
         new_data[pos] = data[pos];
276
 
      delete[] data;
277
 
      data = new_data;
278
 
    }
279
 
 }
 
185
  void grow (long wanted);
 
186
};
 
187
 
 
188
template <class Item>
 
189
inline Array<Item>::Array (long is, long incr) {
 
190
  count     = 0; 
 
191
  size      = is;
 
192
  increment = incr;
 
193
  data      = 0;
 
194
}
 
195
 
 
196
template <class Item>
 
197
Array<Item>::Array (const Array<Item>& array) {
 
198
  count     = 0;
 
199
  size      = array.size;
 
200
  increment = array.increment;
 
201
  
 
202
  if (size && array.data) {
 
203
    data = new Item[size];
 
204
    for (; count < array.count; count++) {
 
205
      data[count] = array.data[count];
 
206
    }
 
207
  } else
 
208
    data = 0;
 
209
}
 
210
 
 
211
template <class Item>
 
212
Array<Item>& Array<Item>::operator =(const Array<Item>& array) {
 
213
  if (data)
 
214
    delete[] data;
 
215
 
 
216
  count     = 0;
 
217
  size      = array.size;
 
218
  increment = array.increment;
 
219
 
 
220
  if (size && array.data) {
 
221
    data = new Item[size];
 
222
    for (; count < array.count; count++) {
 
223
      data[count] = array.data[count];
 
224
    }
 
225
  } else
 
226
    data = 0;
 
227
  
 
228
  return *this;
 
229
}
 
230
 
 
231
template <class Item>
 
232
Array<Item>::~Array () {
 
233
  if (data)
 
234
    delete[] data;
 
235
}
 
236
 
 
237
template <class Item>
 
238
inline void Array<Item>::grow (long wanted) {
 
239
  do {
 
240
    size += increment;
 
241
    increment *= 2;
 
242
  } while (wanted >= size);
 
243
 
 
244
  if (data) {
 
245
    Item* new_data = new Item[size];
 
246
    for (long i = 0; i < count; i++) {
 
247
      new_data[i] = data[i];
 
248
    }
 
249
    delete[] data;
 
250
    data = new_data;
 
251
  } else
 
252
    data = new Item[size];
 
253
}
280
254
   
281
255
template <class Item>
282
 
inline void Array<Item>::append (const Item& item)
283
 
 {
284
 
   check (count);
285
 
   data[count++] = item;
286
 
 }
287
 
 
288
 
template <class Item>
289
 
void Array<Item>::prepend (const Item& item)
290
 
 {
291
 
   insert (0, item);
292
 
 }
293
 
 
294
 
template <class Item>
295
 
void Array<Item>::insert (long index, const Item& item)
296
 
 {
297
 
   check (count);
298
 
   for (int pos = count; pos > index; pos--)
299
 
      data[pos] = data[pos - 1];
300
 
   data[index] = item;
301
 
   count++;
302
 
 }
303
 
 
304
 
template <class Item>
305
 
inline Item& Array<Item>::get (long index)
306
 
 {
307
 
   check (index);
308
 
   if (index >= count)
309
 
      count = index + 1;
310
 
   return data[index];
311
 
 }
312
 
 
313
 
template <class Item>
314
 
inline Item& Array<Item>::operator[] (long index)
315
 
 {
316
 
   return get (index);
317
 
 }
318
 
 
319
 
template <class Item>
320
 
inline Item Array<Item>::fetch (long index) const
321
 
 {
322
 
   assert(index < count);
323
 
   return data[index];
324
 
 }
325
 
 
326
 
template <class Item>
327
 
inline long Array<Item>::length () const
328
 
 {
329
 
   return count;
330
 
 }
331
 
 
332
 
template <class Item>
333
 
inline void Array<Item>::remove (long index)
334
 
 {
335
 
   if (index < count && count > 0)
336
 
    {
337
 
      for (int pos = index; pos < count - 1; pos++)
338
 
         data[pos] = data[pos + 1];
339
 
      count--;
340
 
    }
341
 
 }
 
256
inline void Array<Item>::append (const Item& item) {
 
257
  if (count >= size || ! data) {
 
258
    grow (count);
 
259
  }
 
260
  data[count++] = item;
 
261
}
 
262
 
 
263
template <class Item>
 
264
void Array<Item>::prepend (const Item& item) {
 
265
  insert (0, item);
 
266
}
 
267
 
 
268
template <class Item>
 
269
void Array<Item>::insert (long index, const Item& item) {
 
270
  if (count >= size || ! data) {
 
271
    grow (count);
 
272
  }
 
273
  for (long i = count; i > index; i--)
 
274
    data[i] = data[i - 1];
 
275
  data[index] = item;
 
276
  count++;
 
277
}
 
278
 
 
279
template <class Item>
 
280
inline Item& Array<Item>::get (long index) {
 
281
  if (index >= size || ! data) {
 
282
    grow (index);
 
283
  }
 
284
  if (index >= count)
 
285
    count = index + 1;
 
286
  return data[index];
 
287
}
 
288
 
 
289
template <class Item>
 
290
inline Item& Array<Item>::operator[] (long index) {
 
291
  return get (index);
 
292
}
 
293
 
 
294
template <class Item>
 
295
inline Item Array<Item>::fetch (long index) const {
 
296
  assert(index < count && data);
 
297
  return data[index];
 
298
}
 
299
 
 
300
template <class Item>
 
301
inline long Array<Item>::length () const {
 
302
  return count;
 
303
}
 
304
 
 
305
template <class Item>
 
306
inline void Array<Item>::remove (long index) {
 
307
  if (index < count && count > 0) {
 
308
    for (long i = index; i < count - 1; i++)
 
309
      data[i] = data[i + 1];
 
310
    count--;
 
311
  }
 
312
}
342
313
 
343
314
#ifndef __puma
344
315
template <>
345
316
inline void Array<int>::reset () {
346
 
   count = 0; 
 
317
  count = 0; 
347
318
}
348
319
#endif
349
320
 
350
321
template <class Item>
351
 
void Array<Item>::reset ()
352
 
 {
353
 
   if (data)
354
 
      delete[] data;
355
 
   count     = 0; 
356
 
   size      = default_init_size;
357
 
   increment = default_increment;
358
 
   data      = new Item[size];
359
 
 }
 
322
void Array<Item>::reset () {
 
323
  if (data)
 
324
    delete[] data;
 
325
    
 
326
  count     = 0; 
 
327
  size      = default_init_size;
 
328
  increment = default_increment;
 
329
  data      = new Item[size];
 
330
}
360
331
 
361
332
template <class Item>
362
 
inline Item& Array<Item>::lookup (long index) const
363
 
 {
364
 
   assert(index >= 0 && index < count);
365
 
//   if (index >= count) index = count - 1; 
366
 
//   if (index < 0)      index = 0;
367
 
   return data[index];
368
 
 }
 
333
inline Item& Array<Item>::lookup (long index) const {
 
334
  assert(index >= 0 && index < count);
 
335
  return data[index];
 
336
}
369
337
 
370
338
 
371
339
} // namespace Puma
399
367
  void remove (long idx)                   { Base::remove (idx); }
400
368
  void reset ()                            { Base::reset (); }
401
369
 
402
 
  Item *&get (long idx)          { return (Item*&)Base::get (idx); }
403
 
  Item *&operator[] (long idx)   { return (Item*&)Base::operator[] (idx); }
404
 
  Item *fetch (long idx) const   { return (Item*)Base::fetch (idx); }
405
 
  Item *&lookup (long idx) const { return (Item*&)Base::lookup (idx); }
406
 
  long length () const           { return Base::length (); }
 
370
  Item *&get (long idx)                    { return (Item*&)Base::get (idx); }
 
371
  Item *&operator[] (long idx)             { return (Item*&)Base::operator[] (idx); }
 
372
  Item *fetch (long idx) const             { return (Item*)Base::fetch (idx); }
 
373
  Item *&lookup (long idx) const           { return (Item*&)Base::lookup (idx); }
 
374
  long length () const                     { return Base::length (); }
407
375
};
408
376
 
409
377
 
413
381
 
414
382
#endif /* __array_h__ */
415
383
 
416
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
384
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
417
385
// This file is part of PUMA.
418
386
// Copyright (C) 1999-2003  The PUMA developer team.
419
387
//                                                                
436
404
#define __unit_h__
437
405
 
438
406
 
439
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
407
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
440
408
// This file is part of PUMA.
441
409
// Copyright (C) 1999-2003  The PUMA developer team.
442
410
//                                                                
459
427
#define __list_h__
460
428
 
461
429
 
462
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
430
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
463
431
// This file is part of PUMA.
464
432
// Copyright (C) 1999-2003  The PUMA developer team.
465
433
//                                                                
494
462
class List;
495
463
 
496
464
 
497
 
#line 498 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
465
#line 466 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
498
466
} // closed Puma
 
467
class CCExprResolve;
 
468
class CExprResolve;
499
469
class WinIfExists;
500
470
class WinImportHandler;
501
471
class WinMacros;
502
 
class CMatchSyntax;
503
 
class ExtGnu;
 
472
class WinAsm;
 
473
class WinDeclSpecs;
 
474
class WinMemberExplSpec;
 
475
class WinTypeKeywords;
 
476
class WinFriend;
504
477
class ExtAC;
505
478
class ExtACBuilderCoupling;
506
479
class ExtACSyntaxCoupling;
507
480
class ExtACTree;
508
481
class ExtACKeywords;
509
 
class WinAsm;
510
 
class WinDeclSpecs;
511
 
class WinMemberExplSpec;
512
 
class WinTypeKeywords;
 
482
class ExtGnu;
513
483
class PragmaOnceUnitState;
514
484
class PragmaOnce;
515
 
class CCExprResolve;
516
 
class CExprResolve;
 
485
class CMatchSyntax;
517
486
namespace Puma {
518
487
 
519
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
488
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
520
489
class ListElement {
521
 
#line 522 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
490
#line 491 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
491
  friend class ::CCExprResolve;
 
492
  friend class ::CExprResolve;
522
493
  friend class ::WinIfExists;
523
494
  friend class ::WinImportHandler;
524
495
  friend class ::WinMacros;
525
 
  friend class ::CMatchSyntax;
526
 
  friend class ::ExtGnu;
 
496
  friend class ::WinAsm;
 
497
  friend class ::WinDeclSpecs;
 
498
  friend class ::WinMemberExplSpec;
 
499
  friend class ::WinTypeKeywords;
 
500
  friend class ::WinFriend;
527
501
  friend class ::ExtAC;
528
502
  friend class ::ExtACBuilderCoupling;
529
503
  friend class ::ExtACSyntaxCoupling;
530
504
  friend class ::ExtACTree;
531
505
  friend class ::ExtACKeywords;
532
 
  friend class ::WinAsm;
533
 
  friend class ::WinDeclSpecs;
534
 
  friend class ::WinMemberExplSpec;
535
 
  friend class ::WinTypeKeywords;
 
506
  friend class ::ExtGnu;
536
507
  friend class ::PragmaOnceUnitState;
537
508
  friend class ::PragmaOnce;
538
 
  friend class ::CCExprResolve;
539
 
  friend class ::CExprResolve;
 
509
  friend class ::CMatchSyntax;
540
510
 
541
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
 
511
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
542
512
 
543
513
  friend class List;
544
514
 
559
529
 
560
530
#endif /* __list_element_h__ */
561
531
 
562
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
532
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
563
533
namespace Puma {
564
534
 
565
535
 
566
536
 
567
 
#line 568 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
537
#line 538 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
568
538
} // closed Puma
 
539
class CCExprResolve;
 
540
class CExprResolve;
569
541
class WinIfExists;
570
542
class WinImportHandler;
571
543
class WinMacros;
572
 
class CMatchSyntax;
573
 
class ExtGnu;
 
544
class WinAsm;
 
545
class WinDeclSpecs;
 
546
class WinMemberExplSpec;
 
547
class WinTypeKeywords;
 
548
class WinFriend;
574
549
class ExtAC;
575
550
class ExtACBuilderCoupling;
576
551
class ExtACSyntaxCoupling;
577
552
class ExtACTree;
578
553
class ExtACKeywords;
579
 
class WinAsm;
580
 
class WinDeclSpecs;
581
 
class WinMemberExplSpec;
582
 
class WinTypeKeywords;
 
554
class ExtGnu;
583
555
class PragmaOnceUnitState;
584
556
class PragmaOnce;
585
 
class CCExprResolve;
586
 
class CExprResolve;
 
557
class CMatchSyntax;
587
558
namespace Puma {
588
559
 
589
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
560
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
590
561
class List {
591
 
#line 592 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
562
#line 563 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
563
  friend class ::CCExprResolve;
 
564
  friend class ::CExprResolve;
592
565
  friend class ::WinIfExists;
593
566
  friend class ::WinImportHandler;
594
567
  friend class ::WinMacros;
595
 
  friend class ::CMatchSyntax;
596
 
  friend class ::ExtGnu;
 
568
  friend class ::WinAsm;
 
569
  friend class ::WinDeclSpecs;
 
570
  friend class ::WinMemberExplSpec;
 
571
  friend class ::WinTypeKeywords;
 
572
  friend class ::WinFriend;
597
573
  friend class ::ExtAC;
598
574
  friend class ::ExtACBuilderCoupling;
599
575
  friend class ::ExtACSyntaxCoupling;
600
576
  friend class ::ExtACTree;
601
577
  friend class ::ExtACKeywords;
602
 
  friend class ::WinAsm;
603
 
  friend class ::WinDeclSpecs;
604
 
  friend class ::WinMemberExplSpec;
605
 
  friend class ::WinTypeKeywords;
 
578
  friend class ::ExtGnu;
606
579
  friend class ::PragmaOnceUnitState;
607
580
  friend class ::PragmaOnce;
608
 
  friend class ::CCExprResolve;
609
 
  friend class ::CExprResolve;
 
581
  friend class ::CMatchSyntax;
610
582
 
611
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
 
583
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
612
584
 
613
585
  ListElement *_first;
614
586
  ListElement *_last;
644
616
  const ListElement *first () const { return _first; }
645
617
  const ListElement *last () const { return _last; }
646
618
  const ListElement *next (const ListElement *element) const
647
 
   { return element->_next; }
 
619
   { return element ? element->_next : 0; }
648
620
  const ListElement *prev (const ListElement *element) const 
649
 
   { return element->_prev; }
 
621
   { return element ? element->_prev : 0; }
650
622
};
651
623
 
652
624
 
654
626
 
655
627
#endif /* __list_h__ */
656
628
 
657
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
629
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
658
630
// This file is part of PUMA.
659
631
// Copyright (C) 1999-2003  The PUMA developer team.
660
632
//                                                                
683
655
 
684
656
 
685
657
 
686
 
#line 687 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
658
#line 659 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
687
659
} // closed Puma
 
660
class CCExprResolve;
 
661
class CExprResolve;
688
662
class WinIfExists;
689
663
class WinImportHandler;
690
664
class WinMacros;
691
 
class CMatchSyntax;
692
 
class ExtGnu;
 
665
class WinAsm;
 
666
class WinDeclSpecs;
 
667
class WinMemberExplSpec;
 
668
class WinTypeKeywords;
 
669
class WinFriend;
693
670
class ExtAC;
694
671
class ExtACBuilderCoupling;
695
672
class ExtACSyntaxCoupling;
696
673
class ExtACTree;
697
674
class ExtACKeywords;
698
 
class WinAsm;
699
 
class WinDeclSpecs;
700
 
class WinMemberExplSpec;
701
 
class WinTypeKeywords;
 
675
class ExtGnu;
702
676
class PragmaOnceUnitState;
703
677
class PragmaOnce;
704
 
class CCExprResolve;
705
 
class CExprResolve;
 
678
class CMatchSyntax;
706
679
namespace Puma {
707
680
 
708
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
681
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
709
682
class Printable {
710
 
#line 711 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
683
#line 684 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
684
  friend class ::CCExprResolve;
 
685
  friend class ::CExprResolve;
711
686
  friend class ::WinIfExists;
712
687
  friend class ::WinImportHandler;
713
688
  friend class ::WinMacros;
714
 
  friend class ::CMatchSyntax;
715
 
  friend class ::ExtGnu;
 
689
  friend class ::WinAsm;
 
690
  friend class ::WinDeclSpecs;
 
691
  friend class ::WinMemberExplSpec;
 
692
  friend class ::WinTypeKeywords;
 
693
  friend class ::WinFriend;
716
694
  friend class ::ExtAC;
717
695
  friend class ::ExtACBuilderCoupling;
718
696
  friend class ::ExtACSyntaxCoupling;
719
697
  friend class ::ExtACTree;
720
698
  friend class ::ExtACKeywords;
721
 
  friend class ::WinAsm;
722
 
  friend class ::WinDeclSpecs;
723
 
  friend class ::WinMemberExplSpec;
724
 
  friend class ::WinTypeKeywords;
 
699
  friend class ::ExtGnu;
725
700
  friend class ::PragmaOnceUnitState;
726
701
  friend class ::PragmaOnce;
727
 
  friend class ::CCExprResolve;
728
 
  friend class ::CExprResolve;
 
702
  friend class ::CMatchSyntax;
729
703
 
730
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Printable.h"
 
704
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
731
705
 
732
706
public:
733
707
  virtual ~Printable () {}
745
719
 
746
720
#endif /* __printable_h__ */
747
721
 
748
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
722
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
749
723
 
750
 
#line 751 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
724
#line 725 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
751
725
 
752
726
#ifndef __ac_fwd_PragmaOnceUnitState__
753
727
#define __ac_fwd_PragmaOnceUnitState__
754
728
class PragmaOnceUnitState;
755
729
namespace AC {
756
730
  template <class JoinPoint>
757
 
  inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
731
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
732
  template <class JoinPoint>
 
733
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
758
734
}
759
735
#endif
760
736
 
761
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
762
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
737
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
738
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
763
739
#endif
764
740
 
765
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
766
 
 
767
 
#line 768 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
768
 
 
769
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
741
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
742
// This file is part of PUMA.
 
743
// Copyright (C) 1999-2003  The PUMA developer team.
 
744
//                                                                
 
745
// This program is free software;  you can redistribute it and/or 
 
746
// modify it under the terms of the GNU General Public License as 
 
747
// published by the Free Software Foundation; either version 2 of 
 
748
// the License, or (at your option) any later version.            
 
749
//                                                                
 
750
// This program is distributed in the hope that it will be useful,
 
751
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
752
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
753
// GNU General Public License for more details.                   
 
754
//                                                                
 
755
// You should have received a copy of the GNU General Public      
 
756
// License along with this program; if not, write to the Free     
 
757
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
758
// MA  02111-1307  USA                                            
 
759
 
 
760
#ifndef __UnitState__
 
761
#define __UnitState__
 
762
 
 
763
// The state of a unit: 
 
764
// 1. modified by manipulations and not updated at the class registry
 
765
// 2. modified by manipulations and updated at the class registry
 
766
// 3. unmodified by manipulations and not updated at the class registry
 
767
// 4. unmodified by manipulations and updated at the class registry
 
768
 
 
769
namespace Puma {
 
770
 
 
771
 
 
772
 
 
773
#line 774 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
774
} // closed Puma
 
775
class CCExprResolve;
 
776
class CExprResolve;
 
777
class WinIfExists;
 
778
class WinImportHandler;
 
779
class WinMacros;
 
780
class WinAsm;
 
781
class WinDeclSpecs;
 
782
class WinMemberExplSpec;
 
783
class WinTypeKeywords;
 
784
class WinFriend;
 
785
class ExtAC;
 
786
class ExtACBuilderCoupling;
 
787
class ExtACSyntaxCoupling;
 
788
class ExtACTree;
 
789
class ExtACKeywords;
 
790
class ExtGnu;
 
791
class PragmaOnceUnitState;
 
792
class PragmaOnce;
 
793
class CMatchSyntax;
 
794
namespace Puma {
 
795
 
 
796
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
797
 
 
798
#line 799 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
799
} // closed Puma
 
800
 
 
801
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
802
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
803
 
 
804
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
770
805
// This file is part of PUMA.
771
806
// Copyright (C) 1999-2003  The PUMA developer team.
772
807
//                                                                
788
823
#ifndef __PragmaOnceUnitState__
789
824
#define __PragmaOnceUnitState__
790
825
 
791
 
using namespace Puma;
792
 
 
793
 
 
794
 
#line 795 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
826
 
 
827
#line 828 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
828
class CCExprResolve;
 
829
class CExprResolve;
795
830
class WinIfExists;
796
831
class WinImportHandler;
797
832
class WinMacros;
798
 
class CMatchSyntax;
799
 
class ExtGnu;
 
833
class WinAsm;
 
834
class WinDeclSpecs;
 
835
class WinMemberExplSpec;
 
836
class WinTypeKeywords;
 
837
class WinFriend;
800
838
class ExtAC;
801
839
class ExtACBuilderCoupling;
802
840
class ExtACSyntaxCoupling;
803
841
class ExtACTree;
804
842
class ExtACKeywords;
805
 
class WinAsm;
806
 
class WinDeclSpecs;
807
 
class WinMemberExplSpec;
808
 
class WinTypeKeywords;
 
843
class ExtGnu;
809
844
class PragmaOnce;
810
 
class CCExprResolve;
811
 
class CExprResolve;
 
845
class CMatchSyntax;
812
846
 
813
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
847
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
814
848
class PragmaOnceUnitState {
815
 
#line 816 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
849
#line 850 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
816
850
 
817
851
public:
818
852
  static PragmaOnceUnitState *aspectof () {
824
858
  }
825
859
private:
826
860
 
827
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
861
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
828
862
 
829
 
#line 830 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
863
#line 864 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
864
  friend class ::CCExprResolve;
 
865
  friend class ::CExprResolve;
830
866
  friend class ::WinIfExists;
831
867
  friend class ::WinImportHandler;
832
868
  friend class ::WinMacros;
833
 
  friend class ::CMatchSyntax;
834
 
  friend class ::ExtGnu;
 
869
  friend class ::WinAsm;
 
870
  friend class ::WinDeclSpecs;
 
871
  friend class ::WinMemberExplSpec;
 
872
  friend class ::WinTypeKeywords;
 
873
  friend class ::WinFriend;
835
874
  friend class ::ExtAC;
836
875
  friend class ::ExtACBuilderCoupling;
837
876
  friend class ::ExtACSyntaxCoupling;
838
877
  friend class ::ExtACTree;
839
878
  friend class ::ExtACKeywords;
840
 
  friend class ::WinAsm;
841
 
  friend class ::WinDeclSpecs;
842
 
  friend class ::WinMemberExplSpec;
843
 
  friend class ::WinTypeKeywords;
 
879
  friend class ::ExtGnu;
844
880
  friend class ::PragmaOnce;
845
 
  friend class ::CCExprResolve;
846
 
  friend class ::CExprResolve;
 
881
  friend class ::CMatchSyntax;
847
882
 
848
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
883
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
849
884
 
850
885
  /******************************************************/
851
886
  /* specific #pragma once unit state                   */
853
888
 
854
889
  // pointcut definitions
855
890
  
856
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
891
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
857
892
 
858
893
 
859
894
  
860
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
895
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
861
896
 
862
897
  
863
898
  // initialize new state flag
864
899
  
865
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
900
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
866
901
 
867
902
public: template<class JoinPoint> void __a0_after 
868
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
903
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
869
904
 
870
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
905
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
871
906
(JoinPoint *tjp)
872
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
907
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
873
908
 {
874
 
#line 875 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
909
#line 910 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
875
910
 
876
911
  JoinPoint *&thisJoinPoint = tjp;
877
912
 
878
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
913
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
879
914
 
880
 
#line 881 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
915
#line 916 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
881
916
 
882
917
  typedef typename JoinPoint::That __JP_That;
883
918
  typedef typename JoinPoint::Target __JP_Target;
884
919
  typedef typename JoinPoint::Result __JP_Result;
885
920
 
886
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
921
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
887
922
 
888
923
    thisJoinPoint->that ()->_once = false;
889
924
  }
890
 
#line 891 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
891
 
 
892
 
private:
893
 
 
894
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
925
#line 926 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
926
 
 
927
private:
 
928
 
 
929
#line 42 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
930
 
 
931
  
 
932
  // initialize new flag for all managed units 
 
933
  
 
934
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
935
 
 
936
public: template<class JoinPoint> void __a1_after 
 
937
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
938
 
 
939
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
940
(JoinPoint *tjp)
 
941
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
942
 {
 
943
#line 944 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
944
 
 
945
  typedef typename JoinPoint::That __JP_That;
 
946
  typedef typename JoinPoint::Target __JP_Target;
 
947
  typedef typename JoinPoint::Result __JP_Result;
 
948
 
 
949
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
950
 
 
951
    // go through the whole unit hash table and reset the 
 
952
    // `#pragma once' state of the units
 
953
    typename __JP_That
 
954
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
955
::UMapIter iter;
 
956
    for (iter = tjp->that()->_umap.begin (); iter != tjp->that()->_umap.end (); ++iter)
 
957
      (*iter).second->state ().onlyOnce (false);
 
958
  }
 
959
#line 960 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
960
 
 
961
private:
 
962
 
 
963
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
895
964
 
896
965
 
897
966
protected:
898
967
  // this aspect should never be instantiated directly
899
968
  PragmaOnceUnitState () {}
900
969
};
901
 
#line 902 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
970
#line 971 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
902
971
 
903
972
namespace AC {
904
973
  template <class JoinPoint>
905
 
  inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
 
974
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
906
975
    ::PragmaOnceUnitState::aspectof()->__a0_after (tjp);
907
976
  }
 
977
  template <class JoinPoint>
 
978
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp) {
 
979
    ::PragmaOnceUnitState::aspectof()->__a1_after (tjp);
 
980
  }
908
981
909
982
 
910
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
983
#line 56 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
911
984
 
912
985
 
913
986
 
914
987
#endif /* __PragmaOnceUnitState__ */
915
988
 
916
 
#line 4 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
917
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
918
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
919
 
 
920
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
921
 
// This file is part of PUMA.
922
 
// Copyright (C) 1999-2003  The PUMA developer team.
923
 
//                                                                
924
 
// This program is free software;  you can redistribute it and/or 
925
 
// modify it under the terms of the GNU General Public License as 
926
 
// published by the Free Software Foundation; either version 2 of 
927
 
// the License, or (at your option) any later version.            
928
 
//                                                                
929
 
// This program is distributed in the hope that it will be useful,
930
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
931
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
932
 
// GNU General Public License for more details.                   
933
 
//                                                                
934
 
// You should have received a copy of the GNU General Public      
935
 
// License along with this program; if not, write to the Free     
936
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
937
 
// MA  02111-1307  USA                                            
938
 
 
939
 
#ifndef __UnitState__
940
 
#define __UnitState__
941
 
 
942
 
// The state of a unit: 
943
 
// 1. modified by manipulations and not updated at the class registry
944
 
// 2. modified by manipulations and updated at the class registry
945
 
// 3. unmodified by manipulations and not updated at the class registry
946
 
// 4. unmodified by manipulations and updated at the class registry
947
 
 
948
 
namespace Puma {
949
 
 
950
 
 
951
 
 
952
 
#line 953 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
953
 
} // closed Puma
954
 
class WinIfExists;
955
 
class WinImportHandler;
956
 
class WinMacros;
957
 
class CMatchSyntax;
958
 
class ExtGnu;
959
 
class ExtAC;
960
 
class ExtACBuilderCoupling;
961
 
class ExtACSyntaxCoupling;
962
 
class ExtACTree;
963
 
class ExtACKeywords;
964
 
class WinAsm;
965
 
class WinDeclSpecs;
966
 
class WinMemberExplSpec;
967
 
class WinTypeKeywords;
968
 
class PragmaOnceUnitState;
969
 
class PragmaOnce;
970
 
class CCExprResolve;
971
 
class CExprResolve;
972
 
namespace Puma {
973
 
 
974
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
989
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
990
#endif
 
991
namespace Puma {
 
992
 
 
993
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
975
994
class UnitState {
976
 
#line 977 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
995
#line 996 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
996
  friend class ::CCExprResolve;
 
997
  friend class ::CExprResolve;
977
998
  friend class ::WinIfExists;
978
999
  friend class ::WinImportHandler;
979
1000
  friend class ::WinMacros;
980
 
  friend class ::CMatchSyntax;
981
 
  friend class ::ExtGnu;
 
1001
  friend class ::WinAsm;
 
1002
  friend class ::WinDeclSpecs;
 
1003
  friend class ::WinMemberExplSpec;
 
1004
  friend class ::WinTypeKeywords;
 
1005
  friend class ::WinFriend;
982
1006
  friend class ::ExtAC;
983
1007
  friend class ::ExtACBuilderCoupling;
984
1008
  friend class ::ExtACSyntaxCoupling;
985
1009
  friend class ::ExtACTree;
986
1010
  friend class ::ExtACKeywords;
987
 
  friend class ::WinAsm;
988
 
  friend class ::WinDeclSpecs;
989
 
  friend class ::WinMemberExplSpec;
990
 
  friend class ::WinTypeKeywords;
 
1011
  friend class ::ExtGnu;
991
1012
  friend class ::PragmaOnceUnitState;
992
1013
  friend class ::PragmaOnce;
993
 
  friend class ::CCExprResolve;
994
 
  friend class ::CExprResolve;
 
1014
  friend class ::CMatchSyntax;
995
1015
 
996
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
1016
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
997
1017
 
998
1018
  bool _modified;
999
1019
  bool _updated;
1001
1021
      
1002
1022
public:
1003
1023
  
1004
 
#line 1005 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
1005
 
public: inline void __exec_old_C1();
 
1024
#line 1025 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1025
public: __attribute__((always_inline)) inline void __exec_old_C1();
1006
1026
 
1007
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
1027
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
1008
1028
UnitState ();
1009
1029
      
1010
1030
  bool isModified () const;
1018
1038
  void updated ();
1019
1039
   private:
1020
1040
 
1021
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
 
1041
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
1022
1042
 bool _once ;
1023
1043
public :
1024
1044
 
1025
1045
bool onlyOnce ( ) const { return _once ; }
1026
1046
void onlyOnce ( bool v ) { _once = v ; }
1027
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
1028
 
 
1029
 
#line 1030 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
1030
 
 
1031
 
struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
1032
 
  typedef void Result;
1033
 
  typedef ::Puma::UnitState That;
1034
 
  typedef ::Puma::UnitState Target;
1035
 
  static const int JPID = 5;
 
1047
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
1048
 
 
1049
#line 1050 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1050
 
 
1051
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
 
1052
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 __TJP;
 
1053
  typedef TResult Result;
 
1054
  typedef TThat   That;
 
1055
  typedef TTarget Target;
 
1056
  enum { ARGS = TArgs::ARGS };
 
1057
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
1058
  static const int JPID = 3430;
1036
1059
  static const AC::JPType JPTYPE = (AC::JPType)16;
1037
1060
  struct Res {
1038
1061
    typedef void Type;
1039
1062
    typedef void ReferredType;
1040
1063
  };
1041
 
  enum { ARGS = 1 };
1042
 
  template <int I, int DUMMY = 0> struct Arg {
1043
 
    typedef void Type;
1044
 
    typedef void ReferredType;
1045
 
  };
1046
 
  template <int DUMMY> struct Arg<0, DUMMY> {
1047
 
    typedef const ::Puma::UnitState & Type;
1048
 
    typedef const ::Puma::UnitState ReferredType;
1049
 
  };
1050
1064
 
1051
1065
  That *_that;
1052
1066
 
1055
1069
};
1056
1070
 
1057
1071
 
1058
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
1072
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
1059
1073
 
1060
 
#line 1061 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1074
#line 1075 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1061
1075
 
1062
1076
public:
1063
1077
inline UnitState (const Puma::UnitState & arg0) : _modified (arg0._modified), _updated (arg0._updated), _lastModified (arg0._lastModified), _once (arg0._once) {
1064
 
  TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 tjp;
1065
 
  tjp._that =  (TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0::That*)this;
1066
 
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0> (&tjp);
 
1078
  typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TL< const ::Puma::UnitState & , AC::TLE > > __TJP;
 
1079
  __TJP tjp;
 
1080
  tjp._that =  (__TJP::That*)this;
 
1081
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
1067
1082
 
1068
1083
}
1069
1084
 
1070
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
1085
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
1071
1086
};
1072
1087
 
1073
1088
 
1074
 
#line 1075 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
1075
 
 
1076
 
 
1077
 
struct TJP__ZN4Puma9UnitStateC1Ev_0 {
1078
 
  typedef void Result;
1079
 
  typedef ::Puma::UnitState That;
1080
 
  typedef ::Puma::UnitState Target;
1081
 
  static const int JPID = 5;
 
1089
#line 1090 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1090
 
 
1091
 
 
1092
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1Ev_0 {
 
1093
  typedef TJP__ZN4Puma9UnitStateC1Ev_0 __TJP;
 
1094
  typedef TResult Result;
 
1095
  typedef TThat   That;
 
1096
  typedef TTarget Target;
 
1097
  enum { ARGS = TArgs::ARGS };
 
1098
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
1099
  static const int JPID = 3406;
1082
1100
  static const AC::JPType JPTYPE = (AC::JPType)16;
1083
1101
  struct Res {
1084
1102
    typedef void Type;
1085
1103
    typedef void ReferredType;
1086
1104
  };
1087
 
  enum { ARGS = 0 };
1088
 
  template <int I, int DUMMY = 0> struct Arg {
1089
 
    typedef void Type;
1090
 
    typedef void ReferredType;
1091
 
  };
1092
1105
 
1093
1106
  That *_that;
1094
1107
 
1097
1110
};
1098
1111
 
1099
1112
 
1100
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
1113
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
1101
1114
inline UnitState::UnitState ()
1102
1115
 
1103
 
#line 1104 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1116
#line 1117 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1104
1117
{
1105
 
  TJP__ZN4Puma9UnitStateC1Ev_0 tjp;
1106
 
  tjp._that =  (TJP__ZN4Puma9UnitStateC1Ev_0::That*)this;
1107
 
this->__exec_old_C1();
1108
 
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1Ev_0> (&tjp);
1109
 
 
 
1118
  typedef TJP__ZN4Puma9UnitStateC1Ev_0< void, ::Puma::UnitState , ::Puma::UnitState ,  AC::TLE > __TJP;
 
1119
    __TJP tjp;
 
1120
  tjp._that =  (__TJP::That*)this;
 
1121
    this->__exec_old_C1();
 
1122
  AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
 
1123
  
1110
1124
}
1111
 
inline void Puma::UnitState::__exec_old_C1()
1112
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
 
1125
__attribute__((always_inline)) inline void Puma::UnitState::__exec_old_C1()
 
1126
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
1113
1127
{ _modified = false; _updated = false; _lastModified = 0; }
1114
1128
 
1115
1129
inline bool UnitState::isModified () const 
1133
1147
 
1134
1148
#endif /* __UnitState__ */
1135
1149
 
1136
 
#line 1137 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
1137
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
1138
 
 
1139
 
#line 72 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
1140
 
 
1141
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
1150
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
1142
1151
namespace Puma {
1143
1152
 
1144
1153
 
1145
1154
 
1146
 
#line 1147 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1155
#line 1156 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1147
1156
} // closed Puma
 
1157
class CCExprResolve;
 
1158
class CExprResolve;
1148
1159
class WinIfExists;
1149
1160
class WinImportHandler;
1150
1161
class WinMacros;
1151
 
class CMatchSyntax;
1152
 
class ExtGnu;
 
1162
class WinAsm;
 
1163
class WinDeclSpecs;
 
1164
class WinMemberExplSpec;
 
1165
class WinTypeKeywords;
 
1166
class WinFriend;
1153
1167
class ExtAC;
1154
1168
class ExtACBuilderCoupling;
1155
1169
class ExtACSyntaxCoupling;
1156
1170
class ExtACTree;
1157
1171
class ExtACKeywords;
1158
 
class WinAsm;
1159
 
class WinDeclSpecs;
1160
 
class WinMemberExplSpec;
1161
 
class WinTypeKeywords;
 
1172
class ExtGnu;
1162
1173
class PragmaOnceUnitState;
1163
1174
class PragmaOnce;
1164
 
class CCExprResolve;
1165
 
class CExprResolve;
 
1175
class CMatchSyntax;
1166
1176
namespace Puma {
1167
1177
 
1168
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
1178
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
1169
1179
class Unit : public List, public Printable {
1170
 
#line 1171 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1180
#line 1181 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1181
  friend class ::CCExprResolve;
 
1182
  friend class ::CExprResolve;
1171
1183
  friend class ::WinIfExists;
1172
1184
  friend class ::WinImportHandler;
1173
1185
  friend class ::WinMacros;
1174
 
  friend class ::CMatchSyntax;
1175
 
  friend class ::ExtGnu;
 
1186
  friend class ::WinAsm;
 
1187
  friend class ::WinDeclSpecs;
 
1188
  friend class ::WinMemberExplSpec;
 
1189
  friend class ::WinTypeKeywords;
 
1190
  friend class ::WinFriend;
1176
1191
  friend class ::ExtAC;
1177
1192
  friend class ::ExtACBuilderCoupling;
1178
1193
  friend class ::ExtACSyntaxCoupling;
1179
1194
  friend class ::ExtACTree;
1180
1195
  friend class ::ExtACKeywords;
1181
 
  friend class ::WinAsm;
1182
 
  friend class ::WinDeclSpecs;
1183
 
  friend class ::WinMemberExplSpec;
1184
 
  friend class ::WinTypeKeywords;
 
1196
  friend class ::ExtGnu;
1185
1197
  friend class ::PragmaOnceUnitState;
1186
1198
  friend class ::PragmaOnce;
1187
 
  friend class ::CCExprResolve;
1188
 
  friend class ::CExprResolve;
 
1199
  friend class ::CMatchSyntax;
1189
1200
 
1190
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
 
1201
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
1191
1202
 
1192
1203
  char *_name;
1193
1204
  UnitState _state;
1209
1220
 
1210
1221
#endif /* __unit_h__ */
1211
1222
 
1212
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
 
1223
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
1213
1224
// This file is part of PUMA.
1214
1225
// Copyright (C) 1999-2003  The PUMA developer team.
1215
1226
//                                                                
1232
1243
#define __Unit_Token_Src__
1233
1244
 
1234
1245
 
1235
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
1246
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
1236
1247
// This file is part of PUMA.
1237
1248
// Copyright (C) 1999-2003  The PUMA developer team.
1238
1249
//                                                                
1260
1271
class Token;
1261
1272
 
1262
1273
 
1263
 
#line 1264 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1274
#line 1275 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1264
1275
} // closed Puma
 
1276
class CCExprResolve;
 
1277
class CExprResolve;
1265
1278
class WinIfExists;
1266
1279
class WinImportHandler;
1267
1280
class WinMacros;
1268
 
class CMatchSyntax;
1269
 
class ExtGnu;
 
1281
class WinAsm;
 
1282
class WinDeclSpecs;
 
1283
class WinMemberExplSpec;
 
1284
class WinTypeKeywords;
 
1285
class WinFriend;
1270
1286
class ExtAC;
1271
1287
class ExtACBuilderCoupling;
1272
1288
class ExtACSyntaxCoupling;
1273
1289
class ExtACTree;
1274
1290
class ExtACKeywords;
1275
 
class WinAsm;
1276
 
class WinDeclSpecs;
1277
 
class WinMemberExplSpec;
1278
 
class WinTypeKeywords;
 
1291
class ExtGnu;
1279
1292
class PragmaOnceUnitState;
1280
1293
class PragmaOnce;
1281
 
class CCExprResolve;
1282
 
class CExprResolve;
 
1294
class CMatchSyntax;
1283
1295
namespace Puma {
1284
1296
 
1285
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
1297
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
1286
1298
class PumaTokenSource {
1287
 
#line 1288 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1299
#line 1300 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1300
  friend class ::CCExprResolve;
 
1301
  friend class ::CExprResolve;
1288
1302
  friend class ::WinIfExists;
1289
1303
  friend class ::WinImportHandler;
1290
1304
  friend class ::WinMacros;
1291
 
  friend class ::CMatchSyntax;
1292
 
  friend class ::ExtGnu;
 
1305
  friend class ::WinAsm;
 
1306
  friend class ::WinDeclSpecs;
 
1307
  friend class ::WinMemberExplSpec;
 
1308
  friend class ::WinTypeKeywords;
 
1309
  friend class ::WinFriend;
1293
1310
  friend class ::ExtAC;
1294
1311
  friend class ::ExtACBuilderCoupling;
1295
1312
  friend class ::ExtACSyntaxCoupling;
1296
1313
  friend class ::ExtACTree;
1297
1314
  friend class ::ExtACKeywords;
1298
 
  friend class ::WinAsm;
1299
 
  friend class ::WinDeclSpecs;
1300
 
  friend class ::WinMemberExplSpec;
1301
 
  friend class ::WinTypeKeywords;
 
1315
  friend class ::ExtGnu;
1302
1316
  friend class ::PragmaOnceUnitState;
1303
1317
  friend class ::PragmaOnce;
1304
 
  friend class ::CCExprResolve;
1305
 
  friend class ::CExprResolve;
 
1318
  friend class ::CMatchSyntax;
1306
1319
 
1307
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenSource.h"
 
1320
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenSource.h"
1308
1321
 
1309
1322
protected:
1310
1323
  PumaTokenSource () {}
1319
1332
 
1320
1333
#endif /* __Token_Source__ */
1321
1334
 
1322
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
1335
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
1323
1336
// This file is part of PUMA.
1324
1337
// Copyright (C) 1999-2003  The PUMA developer team.
1325
1338
//                                                                
1347
1360
 
1348
1361
#include <stdlib.h>
1349
1362
 
1350
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
1363
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
1351
1364
// This file is part of PUMA.
1352
1365
// Copyright (C) 1999-2003  The PUMA developer team.
1353
1366
//                                                                
1375
1388
 
1376
1389
 
1377
1390
 
1378
 
#line 1379 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1391
#line 1392 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1379
1392
} // closed Puma
 
1393
class CCExprResolve;
 
1394
class CExprResolve;
1380
1395
class WinIfExists;
1381
1396
class WinImportHandler;
1382
1397
class WinMacros;
1383
 
class CMatchSyntax;
1384
 
class ExtGnu;
 
1398
class WinAsm;
 
1399
class WinDeclSpecs;
 
1400
class WinMemberExplSpec;
 
1401
class WinTypeKeywords;
 
1402
class WinFriend;
1385
1403
class ExtAC;
1386
1404
class ExtACBuilderCoupling;
1387
1405
class ExtACSyntaxCoupling;
1388
1406
class ExtACTree;
1389
1407
class ExtACKeywords;
1390
 
class WinAsm;
1391
 
class WinDeclSpecs;
1392
 
class WinMemberExplSpec;
1393
 
class WinTypeKeywords;
 
1408
class ExtGnu;
1394
1409
class PragmaOnceUnitState;
1395
1410
class PragmaOnce;
1396
 
class CCExprResolve;
1397
 
class CExprResolve;
 
1411
class CMatchSyntax;
1398
1412
namespace Puma {
1399
1413
 
1400
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
1414
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
1401
1415
class LanguageID {
1402
 
#line 1403 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1416
#line 1417 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1417
  friend class ::CCExprResolve;
 
1418
  friend class ::CExprResolve;
1403
1419
  friend class ::WinIfExists;
1404
1420
  friend class ::WinImportHandler;
1405
1421
  friend class ::WinMacros;
1406
 
  friend class ::CMatchSyntax;
1407
 
  friend class ::ExtGnu;
 
1422
  friend class ::WinAsm;
 
1423
  friend class ::WinDeclSpecs;
 
1424
  friend class ::WinMemberExplSpec;
 
1425
  friend class ::WinTypeKeywords;
 
1426
  friend class ::WinFriend;
1408
1427
  friend class ::ExtAC;
1409
1428
  friend class ::ExtACBuilderCoupling;
1410
1429
  friend class ::ExtACSyntaxCoupling;
1411
1430
  friend class ::ExtACTree;
1412
1431
  friend class ::ExtACKeywords;
1413
 
  friend class ::WinAsm;
1414
 
  friend class ::WinDeclSpecs;
1415
 
  friend class ::WinMemberExplSpec;
1416
 
  friend class ::WinTypeKeywords;
 
1432
  friend class ::ExtGnu;
1417
1433
  friend class ::PragmaOnceUnitState;
1418
1434
  friend class ::PragmaOnce;
1419
 
  friend class ::CCExprResolve;
1420
 
  friend class ::CExprResolve;
 
1435
  friend class ::CMatchSyntax;
1421
1436
 
1422
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LanguageID.h"
 
1437
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/LanguageID.h"
1423
1438
 
1424
1439
  const char *_id;
1425
1440
 
1436
1451
 
1437
1452
#endif /* __language_id_h__ */
1438
1453
 
1439
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
 
1454
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
1440
1455
// This file is part of PUMA.
1441
1456
// Copyright (C) 1999-2003  The PUMA developer team.
1442
1457
//                                                                
1459
1474
#define __location_h__
1460
1475
 
1461
1476
 
1462
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1477
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
 
1478
// This file is part of PUMA.
 
1479
// Copyright (C) 1999-2003  The PUMA developer team.
 
1480
//                                                                
 
1481
// This program is free software;  you can redistribute it and/or 
 
1482
// modify it under the terms of the GNU General Public License as 
 
1483
// published by the Free Software Foundation; either version 2 of 
 
1484
// the License, or (at your option) any later version.            
 
1485
//                                                                
 
1486
// This program is distributed in the hope that it will be useful,
 
1487
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
1488
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
1489
// GNU General Public License for more details.                   
 
1490
//                                                                
 
1491
// You should have received a copy of the GNU General Public      
 
1492
// License along with this program; if not, write to the Free     
 
1493
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
1494
// MA  02111-1307  USA                                            
 
1495
 
 
1496
#ifndef __filename_h__
 
1497
#define __filename_h__
 
1498
 
 
1499
 
 
1500
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1463
1501
// This file is part of PUMA.
1464
1502
// Copyright (C) 1999-2003  The PUMA developer team.
1465
1503
//                                                                
1482
1520
#define __smart_ptr_h__
1483
1521
 
1484
1522
 
1485
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1523
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1486
1524
// This file is part of PUMA.
1487
1525
// Copyright (C) 1999-2003  The PUMA developer team.
1488
1526
//                                                                
1508
1546
 
1509
1547
 
1510
1548
 
1511
 
#line 1512 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1549
#line 1550 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1512
1550
} // closed Puma
 
1551
class CCExprResolve;
 
1552
class CExprResolve;
1513
1553
class WinIfExists;
1514
1554
class WinImportHandler;
1515
1555
class WinMacros;
1516
 
class CMatchSyntax;
1517
 
class ExtGnu;
 
1556
class WinAsm;
 
1557
class WinDeclSpecs;
 
1558
class WinMemberExplSpec;
 
1559
class WinTypeKeywords;
 
1560
class WinFriend;
1518
1561
class ExtAC;
1519
1562
class ExtACBuilderCoupling;
1520
1563
class ExtACSyntaxCoupling;
1521
1564
class ExtACTree;
1522
1565
class ExtACKeywords;
1523
 
class WinAsm;
1524
 
class WinDeclSpecs;
1525
 
class WinMemberExplSpec;
1526
 
class WinTypeKeywords;
 
1566
class ExtGnu;
1527
1567
class PragmaOnceUnitState;
1528
1568
class PragmaOnce;
1529
 
class CCExprResolve;
1530
 
class CExprResolve;
 
1569
class CMatchSyntax;
1531
1570
namespace Puma {
1532
1571
 
1533
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1572
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1534
1573
class RefCnt {
1535
 
#line 1536 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1574
#line 1575 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1575
  friend class ::CCExprResolve;
 
1576
  friend class ::CExprResolve;
1536
1577
  friend class ::WinIfExists;
1537
1578
  friend class ::WinImportHandler;
1538
1579
  friend class ::WinMacros;
1539
 
  friend class ::CMatchSyntax;
1540
 
  friend class ::ExtGnu;
 
1580
  friend class ::WinAsm;
 
1581
  friend class ::WinDeclSpecs;
 
1582
  friend class ::WinMemberExplSpec;
 
1583
  friend class ::WinTypeKeywords;
 
1584
  friend class ::WinFriend;
1541
1585
  friend class ::ExtAC;
1542
1586
  friend class ::ExtACBuilderCoupling;
1543
1587
  friend class ::ExtACSyntaxCoupling;
1544
1588
  friend class ::ExtACTree;
1545
1589
  friend class ::ExtACKeywords;
1546
 
  friend class ::WinAsm;
1547
 
  friend class ::WinDeclSpecs;
1548
 
  friend class ::WinMemberExplSpec;
1549
 
  friend class ::WinTypeKeywords;
 
1590
  friend class ::ExtGnu;
1550
1591
  friend class ::PragmaOnceUnitState;
1551
1592
  friend class ::PragmaOnce;
1552
 
  friend class ::CCExprResolve;
1553
 
  friend class ::CExprResolve;
 
1593
  friend class ::CMatchSyntax;
1554
1594
 
1555
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/RefCnt.h"
 
1595
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/RefCnt.h"
1556
1596
 
1557
1597
  int _counter;
1558
1598
 
1570
1610
 
1571
1611
#endif /* __ref_cnt_h__ */
1572
1612
 
1573
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1613
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1574
1614
namespace Puma {
1575
1615
 
1576
1616
 
1577
1617
 
1578
 
#line 1579 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1618
#line 1619 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1579
1619
} // closed Puma
 
1620
class CCExprResolve;
 
1621
class CExprResolve;
1580
1622
class WinIfExists;
1581
1623
class WinImportHandler;
1582
1624
class WinMacros;
1583
 
class CMatchSyntax;
1584
 
class ExtGnu;
 
1625
class WinAsm;
 
1626
class WinDeclSpecs;
 
1627
class WinMemberExplSpec;
 
1628
class WinTypeKeywords;
 
1629
class WinFriend;
1585
1630
class ExtAC;
1586
1631
class ExtACBuilderCoupling;
1587
1632
class ExtACSyntaxCoupling;
1588
1633
class ExtACTree;
1589
1634
class ExtACKeywords;
1590
 
class WinAsm;
1591
 
class WinDeclSpecs;
1592
 
class WinMemberExplSpec;
1593
 
class WinTypeKeywords;
 
1635
class ExtGnu;
1594
1636
class PragmaOnceUnitState;
1595
1637
class PragmaOnce;
1596
 
class CCExprResolve;
1597
 
class CExprResolve;
 
1638
class CMatchSyntax;
1598
1639
namespace Puma {
1599
1640
 
1600
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1641
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1601
1642
class SmartPtr {
1602
 
#line 1603 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1643
#line 1644 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1644
  friend class ::CCExprResolve;
 
1645
  friend class ::CExprResolve;
1603
1646
  friend class ::WinIfExists;
1604
1647
  friend class ::WinImportHandler;
1605
1648
  friend class ::WinMacros;
1606
 
  friend class ::CMatchSyntax;
1607
 
  friend class ::ExtGnu;
 
1649
  friend class ::WinAsm;
 
1650
  friend class ::WinDeclSpecs;
 
1651
  friend class ::WinMemberExplSpec;
 
1652
  friend class ::WinTypeKeywords;
 
1653
  friend class ::WinFriend;
1608
1654
  friend class ::ExtAC;
1609
1655
  friend class ::ExtACBuilderCoupling;
1610
1656
  friend class ::ExtACSyntaxCoupling;
1611
1657
  friend class ::ExtACTree;
1612
1658
  friend class ::ExtACKeywords;
1613
 
  friend class ::WinAsm;
1614
 
  friend class ::WinDeclSpecs;
1615
 
  friend class ::WinMemberExplSpec;
1616
 
  friend class ::WinTypeKeywords;
 
1659
  friend class ::ExtGnu;
1617
1660
  friend class ::PragmaOnceUnitState;
1618
1661
  friend class ::PragmaOnce;
1619
 
  friend class ::CCExprResolve;
1620
 
  friend class ::CExprResolve;
 
1662
  friend class ::CMatchSyntax;
1621
1663
 
1622
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
 
1664
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SmartPtr.h"
1623
1665
 
1624
1666
  RefCnt *_data;
1625
1667
 
1641
1683
 
1642
1684
#endif /* __smart_ptr_h__ */
1643
1685
 
1644
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
1645
 
// This file is part of PUMA.
1646
 
// Copyright (C) 1999-2003  The PUMA developer team.
1647
 
//                                                                
1648
 
// This program is free software;  you can redistribute it and/or 
1649
 
// modify it under the terms of the GNU General Public License as 
1650
 
// published by the Free Software Foundation; either version 2 of 
1651
 
// the License, or (at your option) any later version.            
1652
 
//                                                                
1653
 
// This program is distributed in the hope that it will be useful,
1654
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
1655
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
1656
 
// GNU General Public License for more details.                   
1657
 
//                                                                
1658
 
// You should have received a copy of the GNU General Public      
1659
 
// License along with this program; if not, write to the Free     
1660
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
1661
 
// MA  02111-1307  USA                                            
1662
 
 
1663
 
#ifndef __location_info_h__
1664
 
#define __location_info_h__
1665
 
 
1666
 
 
1667
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
1668
 
// This file is part of PUMA.
1669
 
// Copyright (C) 1999-2003  The PUMA developer team.
1670
 
//                                                                
1671
 
// This program is free software;  you can redistribute it and/or 
1672
 
// modify it under the terms of the GNU General Public License as 
1673
 
// published by the Free Software Foundation; either version 2 of 
1674
 
// the License, or (at your option) any later version.            
1675
 
//                                                                
1676
 
// This program is distributed in the hope that it will be useful,
1677
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
1678
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
1679
 
// GNU General Public License for more details.                   
1680
 
//                                                                
1681
 
// You should have received a copy of the GNU General Public      
1682
 
// License along with this program; if not, write to the Free     
1683
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
1684
 
// MA  02111-1307  USA                                            
1685
 
 
1686
 
#ifndef __filename_h__
1687
 
#define __filename_h__
1688
 
 
1689
 
 
1690
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
1686
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
1691
1687
// This file is part of PUMA.
1692
1688
// Copyright (C) 1999-2003  The PUMA developer team.
1693
1689
//                                                                
1710
1706
#define __filename_info_h__
1711
1707
 
1712
1708
 
1713
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
1709
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
1714
1710
// This file is part of PUMA.
1715
1711
// Copyright (C) 1999-2003  The PUMA developer team.
1716
1712
//                                                                
1733
1729
#define __DString_h__
1734
1730
 
1735
1731
 
1736
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
1732
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
1737
1733
// This file is part of PUMA.
1738
1734
// Copyright (C) 1999-2003  The PUMA developer team.
1739
1735
//                                                                
1756
1752
#define __StrHashTable_h__
1757
1753
 
1758
1754
 
1759
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
1755
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
1760
1756
// This file is part of PUMA.
1761
1757
// Copyright (C) 1999-2003  The PUMA developer team.
1762
1758
//                                                                
1779
1775
#define __StrHashKey_h__
1780
1776
 
1781
1777
 
1782
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1778
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1783
1779
// This file is part of PUMA.
1784
1780
// Copyright (C) 1999-2003  The PUMA developer team.
1785
1781
//                                                                
1809
1805
class Unit;
1810
1806
 
1811
1807
 
1812
 
#line 1813 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1808
#line 1809 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1813
1809
} // closed Puma
 
1810
class CCExprResolve;
 
1811
class CExprResolve;
1814
1812
class WinIfExists;
1815
1813
class WinImportHandler;
1816
1814
class WinMacros;
1817
 
class CMatchSyntax;
1818
 
class ExtGnu;
 
1815
class WinAsm;
 
1816
class WinDeclSpecs;
 
1817
class WinMemberExplSpec;
 
1818
class WinTypeKeywords;
 
1819
class WinFriend;
1819
1820
class ExtAC;
1820
1821
class ExtACBuilderCoupling;
1821
1822
class ExtACSyntaxCoupling;
1822
1823
class ExtACTree;
1823
1824
class ExtACKeywords;
1824
 
class WinAsm;
1825
 
class WinDeclSpecs;
1826
 
class WinMemberExplSpec;
1827
 
class WinTypeKeywords;
 
1825
class ExtGnu;
1828
1826
class PragmaOnceUnitState;
1829
1827
class PragmaOnce;
1830
 
class CCExprResolve;
1831
 
class CExprResolve;
 
1828
class CMatchSyntax;
1832
1829
namespace Puma {
1833
1830
 
1834
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1831
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1835
1832
class StrCol {
1836
 
#line 1837 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1833
#line 1834 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1834
  friend class ::CCExprResolve;
 
1835
  friend class ::CExprResolve;
1837
1836
  friend class ::WinIfExists;
1838
1837
  friend class ::WinImportHandler;
1839
1838
  friend class ::WinMacros;
1840
 
  friend class ::CMatchSyntax;
1841
 
  friend class ::ExtGnu;
 
1839
  friend class ::WinAsm;
 
1840
  friend class ::WinDeclSpecs;
 
1841
  friend class ::WinMemberExplSpec;
 
1842
  friend class ::WinTypeKeywords;
 
1843
  friend class ::WinFriend;
1842
1844
  friend class ::ExtAC;
1843
1845
  friend class ::ExtACBuilderCoupling;
1844
1846
  friend class ::ExtACSyntaxCoupling;
1845
1847
  friend class ::ExtACTree;
1846
1848
  friend class ::ExtACKeywords;
1847
 
  friend class ::WinAsm;
1848
 
  friend class ::WinDeclSpecs;
1849
 
  friend class ::WinMemberExplSpec;
1850
 
  friend class ::WinTypeKeywords;
 
1849
  friend class ::ExtGnu;
1851
1850
  friend class ::PragmaOnceUnitState;
1852
1851
  friend class ::PragmaOnce;
1853
 
  friend class ::CCExprResolve;
1854
 
  friend class ::CExprResolve;
 
1852
  friend class ::CMatchSyntax;
1855
1853
 
1856
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrCol.h"
 
1854
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrCol.h"
1857
1855
 
1858
1856
protected:
1859
1857
  StrCol () {}
1881
1879
 
1882
1880
#endif /* __str_col__ */
1883
1881
 
1884
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1882
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1885
1883
// This file is part of PUMA.
1886
1884
// Copyright (C) 1999-2003  The PUMA developer team.
1887
1885
//                                                                
1916
1914
 
1917
1915
 
1918
1916
 
1919
 
#line 1920 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1917
#line 1918 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
1920
1918
} // closed Puma
 
1919
class CCExprResolve;
 
1920
class CExprResolve;
1921
1921
class WinIfExists;
1922
1922
class WinImportHandler;
1923
1923
class WinMacros;
1924
 
class CMatchSyntax;
1925
 
class ExtGnu;
 
1924
class WinAsm;
 
1925
class WinDeclSpecs;
 
1926
class WinMemberExplSpec;
 
1927
class WinTypeKeywords;
 
1928
class WinFriend;
1926
1929
class ExtAC;
1927
1930
class ExtACBuilderCoupling;
1928
1931
class ExtACSyntaxCoupling;
1929
1932
class ExtACTree;
1930
1933
class ExtACKeywords;
1931
 
class WinAsm;
1932
 
class WinDeclSpecs;
1933
 
class WinMemberExplSpec;
1934
 
class WinTypeKeywords;
 
1934
class ExtGnu;
1935
1935
class PragmaOnceUnitState;
1936
1936
class PragmaOnce;
1937
 
class CCExprResolve;
1938
 
class CExprResolve;
 
1937
class CMatchSyntax;
1939
1938
namespace Puma {
1940
1939
 
1941
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1940
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1942
1941
class Chain {
1943
 
#line 1944 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1942
#line 1943 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
1943
  friend class ::CCExprResolve;
 
1944
  friend class ::CExprResolve;
1944
1945
  friend class ::WinIfExists;
1945
1946
  friend class ::WinImportHandler;
1946
1947
  friend class ::WinMacros;
1947
 
  friend class ::CMatchSyntax;
1948
 
  friend class ::ExtGnu;
 
1948
  friend class ::WinAsm;
 
1949
  friend class ::WinDeclSpecs;
 
1950
  friend class ::WinMemberExplSpec;
 
1951
  friend class ::WinTypeKeywords;
 
1952
  friend class ::WinFriend;
1949
1953
  friend class ::ExtAC;
1950
1954
  friend class ::ExtACBuilderCoupling;
1951
1955
  friend class ::ExtACSyntaxCoupling;
1952
1956
  friend class ::ExtACTree;
1953
1957
  friend class ::ExtACKeywords;
1954
 
  friend class ::WinAsm;
1955
 
  friend class ::WinDeclSpecs;
1956
 
  friend class ::WinMemberExplSpec;
1957
 
  friend class ::WinTypeKeywords;
 
1958
  friend class ::ExtGnu;
1958
1959
  friend class ::PragmaOnceUnitState;
1959
1960
  friend class ::PragmaOnce;
1960
 
  friend class ::CCExprResolve;
1961
 
  friend class ::CExprResolve;
 
1961
  friend class ::CMatchSyntax;
1962
1962
 
1963
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Chain.h"
 
1963
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Chain.h"
1964
1964
 
1965
1965
  Chain *next;
1966
1966
 
2024
2024
 
2025
2025
#endif /* __Chain_h__ */
2026
2026
 
2027
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
2027
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
2028
2028
namespace Puma {
2029
2029
 
2030
2030
 
2031
2031
 
2032
 
#line 2033 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2032
#line 2033 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2033
2033
} // closed Puma
 
2034
class CCExprResolve;
 
2035
class CExprResolve;
2034
2036
class WinIfExists;
2035
2037
class WinImportHandler;
2036
2038
class WinMacros;
2037
 
class CMatchSyntax;
2038
 
class ExtGnu;
 
2039
class WinAsm;
 
2040
class WinDeclSpecs;
 
2041
class WinMemberExplSpec;
 
2042
class WinTypeKeywords;
 
2043
class WinFriend;
2039
2044
class ExtAC;
2040
2045
class ExtACBuilderCoupling;
2041
2046
class ExtACSyntaxCoupling;
2042
2047
class ExtACTree;
2043
2048
class ExtACKeywords;
2044
 
class WinAsm;
2045
 
class WinDeclSpecs;
2046
 
class WinMemberExplSpec;
2047
 
class WinTypeKeywords;
 
2049
class ExtGnu;
2048
2050
class PragmaOnceUnitState;
2049
2051
class PragmaOnce;
2050
 
class CCExprResolve;
2051
 
class CExprResolve;
 
2052
class CMatchSyntax;
2052
2053
namespace Puma {
2053
2054
 
2054
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
2055
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
2055
2056
class StrHashKey : public Chain {
2056
 
#line 2057 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2057
#line 2058 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2058
  friend class ::CCExprResolve;
 
2059
  friend class ::CExprResolve;
2057
2060
  friend class ::WinIfExists;
2058
2061
  friend class ::WinImportHandler;
2059
2062
  friend class ::WinMacros;
2060
 
  friend class ::CMatchSyntax;
2061
 
  friend class ::ExtGnu;
 
2063
  friend class ::WinAsm;
 
2064
  friend class ::WinDeclSpecs;
 
2065
  friend class ::WinMemberExplSpec;
 
2066
  friend class ::WinTypeKeywords;
 
2067
  friend class ::WinFriend;
2062
2068
  friend class ::ExtAC;
2063
2069
  friend class ::ExtACBuilderCoupling;
2064
2070
  friend class ::ExtACSyntaxCoupling;
2065
2071
  friend class ::ExtACTree;
2066
2072
  friend class ::ExtACKeywords;
2067
 
  friend class ::WinAsm;
2068
 
  friend class ::WinDeclSpecs;
2069
 
  friend class ::WinMemberExplSpec;
2070
 
  friend class ::WinTypeKeywords;
 
2073
  friend class ::ExtGnu;
2071
2074
  friend class ::PragmaOnceUnitState;
2072
2075
  friend class ::PragmaOnce;
2073
 
  friend class ::CCExprResolve;
2074
 
  friend class ::CExprResolve;
 
2076
  friend class ::CMatchSyntax;
2075
2077
 
2076
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
 
2078
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashKey.h"
2077
2079
 
2078
2080
  unsigned int m_Magic;
2079
2081
  unsigned int m_Len;
2084
2086
public:
2085
2087
  StrHashKey (int m, const char *s, int l) : 
2086
2088
    m_Magic (m), m_Len (l), m_Str (StrCol::dup (s, l)) {}
 
2089
  ~StrHashKey () { if (m_Str) delete[] m_Str; }
2087
2090
 
2088
2091
  unsigned int getMagic () const { return m_Magic; }
2089
2092
  unsigned int length () const { return m_Len; }
2095
2098
 
2096
2099
#endif /* __StrHashKey_h__ */
2097
2100
 
2098
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
2101
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
2099
2102
#include <assert.h>
2100
2103
 
2101
2104
namespace Puma {
2102
2105
 
2103
2106
 
2104
2107
 
2105
 
#line 2106 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2108
#line 2109 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2106
2109
} // closed Puma
 
2110
class CCExprResolve;
 
2111
class CExprResolve;
2107
2112
class WinIfExists;
2108
2113
class WinImportHandler;
2109
2114
class WinMacros;
2110
 
class CMatchSyntax;
2111
 
class ExtGnu;
 
2115
class WinAsm;
 
2116
class WinDeclSpecs;
 
2117
class WinMemberExplSpec;
 
2118
class WinTypeKeywords;
 
2119
class WinFriend;
2112
2120
class ExtAC;
2113
2121
class ExtACBuilderCoupling;
2114
2122
class ExtACSyntaxCoupling;
2115
2123
class ExtACTree;
2116
2124
class ExtACKeywords;
2117
 
class WinAsm;
2118
 
class WinDeclSpecs;
2119
 
class WinMemberExplSpec;
2120
 
class WinTypeKeywords;
 
2125
class ExtGnu;
2121
2126
class PragmaOnceUnitState;
2122
2127
class PragmaOnce;
2123
 
class CCExprResolve;
2124
 
class CExprResolve;
 
2128
class CMatchSyntax;
2125
2129
namespace Puma {
2126
2130
 
2127
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
2131
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
2128
2132
class StrHashTable {
2129
 
#line 2130 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2133
#line 2134 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2134
  friend class ::CCExprResolve;
 
2135
  friend class ::CExprResolve;
2130
2136
  friend class ::WinIfExists;
2131
2137
  friend class ::WinImportHandler;
2132
2138
  friend class ::WinMacros;
2133
 
  friend class ::CMatchSyntax;
2134
 
  friend class ::ExtGnu;
 
2139
  friend class ::WinAsm;
 
2140
  friend class ::WinDeclSpecs;
 
2141
  friend class ::WinMemberExplSpec;
 
2142
  friend class ::WinTypeKeywords;
 
2143
  friend class ::WinFriend;
2135
2144
  friend class ::ExtAC;
2136
2145
  friend class ::ExtACBuilderCoupling;
2137
2146
  friend class ::ExtACSyntaxCoupling;
2138
2147
  friend class ::ExtACTree;
2139
2148
  friend class ::ExtACKeywords;
2140
 
  friend class ::WinAsm;
2141
 
  friend class ::WinDeclSpecs;
2142
 
  friend class ::WinMemberExplSpec;
2143
 
  friend class ::WinTypeKeywords;
 
2149
  friend class ::ExtGnu;
2144
2150
  friend class ::PragmaOnceUnitState;
2145
2151
  friend class ::PragmaOnce;
2146
 
  friend class ::CCExprResolve;
2147
 
  friend class ::CExprResolve;
 
2152
  friend class ::CMatchSyntax;
2148
2153
 
2149
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
 
2154
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/StrHashTable.h"
2150
2155
 
2151
2156
  StrHashKey *_emptyKey;
2152
2157
 
2159
2164
  StrHashKey *empty () const { assert (_emptyKey); return _emptyKey; }
2160
2165
  StrHashKey *insert (const char *);
2161
2166
  void remove (StrHashKey *);
 
2167
  void clear ();
2162
2168
 
2163
2169
  enum { STRHASHTABLE_SIZE=0xffff };
2164
2170
  
2166
2172
  Chain m_Table[STRHASHTABLE_SIZE];
2167
2173
 
2168
2174
  StrHashKey *find (unsigned int, const char *, unsigned int);
2169
 
  unsigned int hash (const char *, unsigned int);
 
2175
  unsigned int hash (const char *, unsigned int &);
2170
2176
};
2171
2177
 
2172
2178
 
2174
2180
 
2175
2181
#endif /* __StrHashTable_h__ */
2176
2182
 
2177
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
2183
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
2178
2184
#include <assert.h>
2179
2185
 
2180
2186
namespace Puma {
2183
2189
extern StrHashTable ___str_dict;
2184
2190
 
2185
2191
 
2186
 
#line 2187 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2192
#line 2193 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2187
2193
} // closed Puma
 
2194
class CCExprResolve;
 
2195
class CExprResolve;
2188
2196
class WinIfExists;
2189
2197
class WinImportHandler;
2190
2198
class WinMacros;
2191
 
class CMatchSyntax;
2192
 
class ExtGnu;
 
2199
class WinAsm;
 
2200
class WinDeclSpecs;
 
2201
class WinMemberExplSpec;
 
2202
class WinTypeKeywords;
 
2203
class WinFriend;
2193
2204
class ExtAC;
2194
2205
class ExtACBuilderCoupling;
2195
2206
class ExtACSyntaxCoupling;
2196
2207
class ExtACTree;
2197
2208
class ExtACKeywords;
2198
 
class WinAsm;
2199
 
class WinDeclSpecs;
2200
 
class WinMemberExplSpec;
2201
 
class WinTypeKeywords;
 
2209
class ExtGnu;
2202
2210
class PragmaOnceUnitState;
2203
2211
class PragmaOnce;
2204
 
class CCExprResolve;
2205
 
class CExprResolve;
 
2212
class CMatchSyntax;
2206
2213
namespace Puma {
2207
2214
 
2208
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
2215
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
2209
2216
class DString {
2210
 
#line 2211 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2217
#line 2218 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2218
  friend class ::CCExprResolve;
 
2219
  friend class ::CExprResolve;
2211
2220
  friend class ::WinIfExists;
2212
2221
  friend class ::WinImportHandler;
2213
2222
  friend class ::WinMacros;
2214
 
  friend class ::CMatchSyntax;
2215
 
  friend class ::ExtGnu;
 
2223
  friend class ::WinAsm;
 
2224
  friend class ::WinDeclSpecs;
 
2225
  friend class ::WinMemberExplSpec;
 
2226
  friend class ::WinTypeKeywords;
 
2227
  friend class ::WinFriend;
2216
2228
  friend class ::ExtAC;
2217
2229
  friend class ::ExtACBuilderCoupling;
2218
2230
  friend class ::ExtACSyntaxCoupling;
2219
2231
  friend class ::ExtACTree;
2220
2232
  friend class ::ExtACKeywords;
2221
 
  friend class ::WinAsm;
2222
 
  friend class ::WinDeclSpecs;
2223
 
  friend class ::WinMemberExplSpec;
2224
 
  friend class ::WinTypeKeywords;
 
2233
  friend class ::ExtGnu;
2225
2234
  friend class ::PragmaOnceUnitState;
2226
2235
  friend class ::PragmaOnce;
2227
 
  friend class ::CCExprResolve;
2228
 
  friend class ::CExprResolve;
 
2236
  friend class ::CMatchSyntax;
2229
2237
 
2230
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/DString.h"
 
2238
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/DString.h"
2231
2239
 
2232
2240
  StrHashKey *m_Key;
2233
2241
 
2294
2302
    assert (m_Key);
2295
2303
    return c_str ();
2296
2304
  }
 
2305
  
 
2306
  static void clearDict() {
 
2307
    ___str_dict.clear ();
 
2308
  }
2297
2309
};
2298
2310
 
2299
2311
 
2301
2313
 
2302
2314
#endif /* __DString_h__ */
2303
2315
 
2304
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2316
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2305
2317
namespace Puma {
2306
2318
 
2307
2319
 
2308
2320
 
2309
 
#line 2310 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2321
#line 2322 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2310
2322
} // closed Puma
 
2323
class CCExprResolve;
 
2324
class CExprResolve;
2311
2325
class WinIfExists;
2312
2326
class WinImportHandler;
2313
2327
class WinMacros;
2314
 
class CMatchSyntax;
2315
 
class ExtGnu;
 
2328
class WinAsm;
 
2329
class WinDeclSpecs;
 
2330
class WinMemberExplSpec;
 
2331
class WinTypeKeywords;
 
2332
class WinFriend;
2316
2333
class ExtAC;
2317
2334
class ExtACBuilderCoupling;
2318
2335
class ExtACSyntaxCoupling;
2319
2336
class ExtACTree;
2320
2337
class ExtACKeywords;
2321
 
class WinAsm;
2322
 
class WinDeclSpecs;
2323
 
class WinMemberExplSpec;
2324
 
class WinTypeKeywords;
 
2338
class ExtGnu;
2325
2339
class PragmaOnceUnitState;
2326
2340
class PragmaOnce;
2327
 
class CCExprResolve;
2328
 
class CExprResolve;
 
2341
class CMatchSyntax;
2329
2342
namespace Puma {
2330
2343
 
2331
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2344
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2332
2345
class FilenameInfo : public RefCnt {
2333
 
#line 2334 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2346
#line 2347 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2347
  friend class ::CCExprResolve;
 
2348
  friend class ::CExprResolve;
2334
2349
  friend class ::WinIfExists;
2335
2350
  friend class ::WinImportHandler;
2336
2351
  friend class ::WinMacros;
2337
 
  friend class ::CMatchSyntax;
2338
 
  friend class ::ExtGnu;
 
2352
  friend class ::WinAsm;
 
2353
  friend class ::WinDeclSpecs;
 
2354
  friend class ::WinMemberExplSpec;
 
2355
  friend class ::WinTypeKeywords;
 
2356
  friend class ::WinFriend;
2339
2357
  friend class ::ExtAC;
2340
2358
  friend class ::ExtACBuilderCoupling;
2341
2359
  friend class ::ExtACSyntaxCoupling;
2342
2360
  friend class ::ExtACTree;
2343
2361
  friend class ::ExtACKeywords;
2344
 
  friend class ::WinAsm;
2345
 
  friend class ::WinDeclSpecs;
2346
 
  friend class ::WinMemberExplSpec;
2347
 
  friend class ::WinTypeKeywords;
 
2362
  friend class ::ExtGnu;
2348
2363
  friend class ::PragmaOnceUnitState;
2349
2364
  friend class ::PragmaOnce;
2350
 
  friend class ::CCExprResolve;
2351
 
  friend class ::CExprResolve;
 
2365
  friend class ::CMatchSyntax;
2352
2366
 
2353
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
 
2367
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FilenameInfo.h"
2354
2368
 
2355
2369
  DString _name;
2356
2370
  const char *_path;
2360
2374
  FilenameInfo () : _path ((const char*)0), _root ((const char*)0) {}
2361
2375
  ~FilenameInfo ();
2362
2376
  void name (const char *n);
2363
 
  void name (const DString &dsn) { _name = dsn; }
 
2377
//  void name (const DString &dsn) { _name = dsn; }
2364
2378
  const char *name () const { return _name.c_str (); }
2365
2379
  const char *path ();
2366
2380
  const char *root ();
2375
2389
 
2376
2390
#endif /* __filename_info_h__ */
2377
2391
 
2378
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2392
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
2379
2393
namespace Puma {
2380
2394
 
2381
2395
 
2382
2396
 
2383
 
#line 2384 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2397
#line 2398 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2384
2398
} // closed Puma
 
2399
class CCExprResolve;
 
2400
class CExprResolve;
2385
2401
class WinIfExists;
2386
2402
class WinImportHandler;
2387
2403
class WinMacros;
2388
 
class CMatchSyntax;
2389
 
class ExtGnu;
 
2404
class WinAsm;
 
2405
class WinDeclSpecs;
 
2406
class WinMemberExplSpec;
 
2407
class WinTypeKeywords;
 
2408
class WinFriend;
2390
2409
class ExtAC;
2391
2410
class ExtACBuilderCoupling;
2392
2411
class ExtACSyntaxCoupling;
2393
2412
class ExtACTree;
2394
2413
class ExtACKeywords;
2395
 
class WinAsm;
2396
 
class WinDeclSpecs;
2397
 
class WinMemberExplSpec;
2398
 
class WinTypeKeywords;
 
2414
class ExtGnu;
2399
2415
class PragmaOnceUnitState;
2400
2416
class PragmaOnce;
2401
 
class CCExprResolve;
2402
 
class CExprResolve;
 
2417
class CMatchSyntax;
2403
2418
namespace Puma {
2404
2419
 
2405
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2420
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
2406
2421
class Filename : public SmartPtr, public Printable {
2407
 
#line 2408 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2422
#line 2423 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2423
  friend class ::CCExprResolve;
 
2424
  friend class ::CExprResolve;
2408
2425
  friend class ::WinIfExists;
2409
2426
  friend class ::WinImportHandler;
2410
2427
  friend class ::WinMacros;
2411
 
  friend class ::CMatchSyntax;
2412
 
  friend class ::ExtGnu;
 
2428
  friend class ::WinAsm;
 
2429
  friend class ::WinDeclSpecs;
 
2430
  friend class ::WinMemberExplSpec;
 
2431
  friend class ::WinTypeKeywords;
 
2432
  friend class ::WinFriend;
2413
2433
  friend class ::ExtAC;
2414
2434
  friend class ::ExtACBuilderCoupling;
2415
2435
  friend class ::ExtACSyntaxCoupling;
2416
2436
  friend class ::ExtACTree;
2417
2437
  friend class ::ExtACKeywords;
2418
 
  friend class ::WinAsm;
2419
 
  friend class ::WinDeclSpecs;
2420
 
  friend class ::WinMemberExplSpec;
2421
 
  friend class ::WinTypeKeywords;
 
2438
  friend class ::ExtGnu;
2422
2439
  friend class ::PragmaOnceUnitState;
2423
2440
  friend class ::PragmaOnce;
2424
 
  friend class ::CCExprResolve;
2425
 
  friend class ::CExprResolve;
 
2441
  friend class ::CMatchSyntax;
2426
2442
 
2427
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Filename.h"
 
2443
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Filename.h"
2428
2444
 
2429
2445
  FilenameInfo *info () const { return (FilenameInfo*)data (); }
2430
2446
 
2432
2448
  Filename () {}
2433
2449
  Filename (const char *n) { name (n); }
2434
2450
  Filename &operator = (const char *n) { name (n); return *this; }
 
2451
  bool operator ~ () const { return info () != 0; }
2435
2452
  void name (const char *n);
2436
2453
  const char *name () const;
2437
2454
  const char *path () const;
2447
2464
 
2448
2465
#endif /* __filename_h__ */
2449
2466
 
2450
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
 
2467
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
2451
2468
namespace Puma {
2452
2469
 
2453
2470
 
2454
2471
 
2455
 
#line 2456 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2472
#line 2473 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2456
2473
} // closed Puma
 
2474
class CCExprResolve;
 
2475
class CExprResolve;
2457
2476
class WinIfExists;
2458
2477
class WinImportHandler;
2459
2478
class WinMacros;
2460
 
class CMatchSyntax;
2461
 
class ExtGnu;
 
2479
class WinAsm;
 
2480
class WinDeclSpecs;
 
2481
class WinMemberExplSpec;
 
2482
class WinTypeKeywords;
 
2483
class WinFriend;
2462
2484
class ExtAC;
2463
2485
class ExtACBuilderCoupling;
2464
2486
class ExtACSyntaxCoupling;
2465
2487
class ExtACTree;
2466
2488
class ExtACKeywords;
2467
 
class WinAsm;
2468
 
class WinDeclSpecs;
2469
 
class WinMemberExplSpec;
2470
 
class WinTypeKeywords;
 
2489
class ExtGnu;
2471
2490
class PragmaOnceUnitState;
2472
2491
class PragmaOnce;
2473
 
class CCExprResolve;
2474
 
class CExprResolve;
 
2492
class CMatchSyntax;
2475
2493
namespace Puma {
2476
2494
 
2477
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
2478
 
class LocationInfo : public RefCnt {
2479
 
#line 2480 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2495
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
 
2496
class Location {
 
2497
#line 2498 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2498
  friend class ::CCExprResolve;
 
2499
  friend class ::CExprResolve;
2480
2500
  friend class ::WinIfExists;
2481
2501
  friend class ::WinImportHandler;
2482
2502
  friend class ::WinMacros;
2483
 
  friend class ::CMatchSyntax;
2484
 
  friend class ::ExtGnu;
 
2503
  friend class ::WinAsm;
 
2504
  friend class ::WinDeclSpecs;
 
2505
  friend class ::WinMemberExplSpec;
 
2506
  friend class ::WinTypeKeywords;
 
2507
  friend class ::WinFriend;
2485
2508
  friend class ::ExtAC;
2486
2509
  friend class ::ExtACBuilderCoupling;
2487
2510
  friend class ::ExtACSyntaxCoupling;
2488
2511
  friend class ::ExtACTree;
2489
2512
  friend class ::ExtACKeywords;
2490
 
  friend class ::WinAsm;
2491
 
  friend class ::WinDeclSpecs;
2492
 
  friend class ::WinMemberExplSpec;
2493
 
  friend class ::WinTypeKeywords;
 
2513
  friend class ::ExtGnu;
2494
2514
  friend class ::PragmaOnceUnitState;
2495
2515
  friend class ::PragmaOnce;
2496
 
  friend class ::CCExprResolve;
2497
 
  friend class ::CExprResolve;
 
2516
  friend class ::CMatchSyntax;
2498
2517
 
2499
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/LocationInfo.h"
 
2518
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Location.h"
2500
2519
 
2501
2520
  Filename _filename;
2502
2521
  int _line;
 
2522
  int _column;
2503
2523
 
2504
2524
public:
2505
 
  LocationInfo () : _filename (), _line (0) {}
2506
 
  void setup (Filename f, int l);
 
2525
  Location () : _filename (), _line (0), _column (0) {}
 
2526
  Location (Filename f, int l, int c = 0) { setup (f, l, c); }
 
2527
  void setup (Filename f, int l, int c = 0) {
 
2528
    _filename = f;
 
2529
    _line     = l;
 
2530
    _column   = c;
 
2531
  }
2507
2532
  const Filename &filename () const { return _filename; }
2508
2533
  int line () const { return _line; }
2509
 
  bool operator < (const LocationInfo &l) const;
2510
 
  bool operator == (const LocationInfo &l) const;
2511
 
};
2512
 
 
2513
 
 
2514
 
} // namespace Puma
2515
 
 
2516
 
#endif /* __location_info_h__ */
2517
 
 
2518
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
2519
 
namespace Puma {
2520
 
 
2521
 
 
2522
 
 
2523
 
#line 2524 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
2524
 
} // closed Puma
2525
 
class WinIfExists;
2526
 
class WinImportHandler;
2527
 
class WinMacros;
2528
 
class CMatchSyntax;
2529
 
class ExtGnu;
2530
 
class ExtAC;
2531
 
class ExtACBuilderCoupling;
2532
 
class ExtACSyntaxCoupling;
2533
 
class ExtACTree;
2534
 
class ExtACKeywords;
2535
 
class WinAsm;
2536
 
class WinDeclSpecs;
2537
 
class WinMemberExplSpec;
2538
 
class WinTypeKeywords;
2539
 
class PragmaOnceUnitState;
2540
 
class PragmaOnce;
2541
 
class CCExprResolve;
2542
 
class CExprResolve;
2543
 
namespace Puma {
2544
 
 
2545
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
2546
 
class Location : public SmartPtr, public Printable {
2547
 
#line 2548 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
2548
 
  friend class ::WinIfExists;
2549
 
  friend class ::WinImportHandler;
2550
 
  friend class ::WinMacros;
2551
 
  friend class ::CMatchSyntax;
2552
 
  friend class ::ExtGnu;
2553
 
  friend class ::ExtAC;
2554
 
  friend class ::ExtACBuilderCoupling;
2555
 
  friend class ::ExtACSyntaxCoupling;
2556
 
  friend class ::ExtACTree;
2557
 
  friend class ::ExtACKeywords;
2558
 
  friend class ::WinAsm;
2559
 
  friend class ::WinDeclSpecs;
2560
 
  friend class ::WinMemberExplSpec;
2561
 
  friend class ::WinTypeKeywords;
2562
 
  friend class ::PragmaOnceUnitState;
2563
 
  friend class ::PragmaOnce;
2564
 
  friend class ::CCExprResolve;
2565
 
  friend class ::CExprResolve;
2566
 
 
2567
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Location.h"
2568
 
 
2569
 
  LocationInfo *info () const { return (LocationInfo*)data (); }
2570
 
 
2571
 
public:
2572
 
  Location () {}
2573
 
  Location (Filename f, int l) { setup (f, l); }
2574
 
  Location (LocationInfo *lptr) : SmartPtr (lptr) {}
2575
 
  LocationInfo *operator ~ () { if (info ()) info ()->ref (); return info (); }
2576
 
  void setup (Filename f, int l);
2577
 
  const Filename &filename () const   { return info ()->filename (); }
2578
 
  int line () const;
2579
 
  bool operator == (const Location &l) const;
 
2534
  int column () const { return _column; }
 
2535
  bool operator == (const Location &l) const {
 
2536
    return filename () == l.filename () && line () == l.line () &&
 
2537
      column () == l.column ();
 
2538
  }
2580
2539
  bool operator != (const Location &l) const { return ! (*this == l); }
2581
 
  bool operator < (const Location &l) const;
 
2540
  bool operator < (const Location &l) const {
 
2541
    // TODO: does it make sense to compare the filenames? better assert?
 
2542
    if (filename () != l.filename ())
 
2543
      return false;
 
2544
    return line () < l.line () && column () < l.column ();
 
2545
  }
 
2546
};
2582
2547
 
2583
 
  virtual void print (ostream &os) const {
2584
 
    if (info ())
 
2548
inline std::ostream &operator << (std::ostream &os, const Location &loc) {
2585
2549
#ifdef VISUAL_STUDIO
2586
 
      os << filename () << "(" << line () << ")";
 
2550
  os << loc.filename () << "(" << loc.line () << ")";
2587
2551
#else
2588
 
      os << filename () << ":" << line ();
 
2552
  os << loc.filename () << ":" << loc.line ();
2589
2553
#endif
2590
 
  }
2591
 
};
2592
 
 
2593
 
 
 
2554
  return os;  
 
2555
}
2594
2556
} // namespace Puma
2595
2557
 
2596
2558
#endif /* __location_h__ */
2597
2559
 
2598
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
2560
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2599
2561
#include <assert.h>
2600
2562
 
2601
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
2563
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2602
2564
namespace Puma {
2603
2565
 
2604
2566
 
2605
2567
 
2606
 
#line 2607 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2568
#line 2569 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2607
2569
} // closed Puma
 
2570
class CCExprResolve;
 
2571
class CExprResolve;
2608
2572
class WinIfExists;
2609
2573
class WinImportHandler;
2610
2574
class WinMacros;
2611
 
class CMatchSyntax;
2612
 
class ExtGnu;
 
2575
class WinAsm;
 
2576
class WinDeclSpecs;
 
2577
class WinMemberExplSpec;
 
2578
class WinTypeKeywords;
 
2579
class WinFriend;
2613
2580
class ExtAC;
2614
2581
class ExtACBuilderCoupling;
2615
2582
class ExtACSyntaxCoupling;
2616
2583
class ExtACTree;
2617
2584
class ExtACKeywords;
2618
 
class WinAsm;
2619
 
class WinDeclSpecs;
2620
 
class WinMemberExplSpec;
2621
 
class WinTypeKeywords;
 
2585
class ExtGnu;
2622
2586
class PragmaOnceUnitState;
2623
2587
class PragmaOnce;
2624
 
class CCExprResolve;
2625
 
class CExprResolve;
 
2588
class CMatchSyntax;
2626
2589
namespace Puma {
2627
2590
 
2628
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
2591
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2629
2592
class Token : public ListElement {
2630
 
#line 2631 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2593
#line 2594 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2594
  friend class ::CCExprResolve;
 
2595
  friend class ::CExprResolve;
2631
2596
  friend class ::WinIfExists;
2632
2597
  friend class ::WinImportHandler;
2633
2598
  friend class ::WinMacros;
2634
 
  friend class ::CMatchSyntax;
2635
 
  friend class ::ExtGnu;
 
2599
  friend class ::WinAsm;
 
2600
  friend class ::WinDeclSpecs;
 
2601
  friend class ::WinMemberExplSpec;
 
2602
  friend class ::WinTypeKeywords;
 
2603
  friend class ::WinFriend;
2636
2604
  friend class ::ExtAC;
2637
2605
  friend class ::ExtACBuilderCoupling;
2638
2606
  friend class ::ExtACSyntaxCoupling;
2639
2607
  friend class ::ExtACTree;
2640
2608
  friend class ::ExtACKeywords;
2641
 
  friend class ::WinAsm;
2642
 
  friend class ::WinDeclSpecs;
2643
 
  friend class ::WinMemberExplSpec;
2644
 
  friend class ::WinTypeKeywords;
 
2609
  friend class ::ExtGnu;
2645
2610
  friend class ::PragmaOnceUnitState;
2646
2611
  friend class ::PragmaOnce;
2647
 
  friend class ::CCExprResolve;
2648
 
  friend class ::CExprResolve;
 
2612
  friend class ::CMatchSyntax;
2649
2613
 
2650
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
 
2614
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2651
2615
 
2652
2616
  int _type, _real_type;
2653
2617
 
2654
2618
  Location _location;
2655
2619
  LanguageID _language;
2656
 
  DString _text;
 
2620
  const char *_text;
 
2621
  mutable DString _dtext;
2657
2622
 
2658
2623
  Array<int> *_cont_lines;
2659
2624
   
2694
2659
  void macro_generated ()           { _flags |= TK_MACRO_GENERATED; }
2695
2660
  void macro_call ()                { _flags |= TK_MACRO_CALL; }
2696
2661
  
2697
 
  const DString &text () const     { return _text; }
 
2662
  const char *text () const;
 
2663
  DString &dtext () const;
2698
2664
  char *get_static_text () const;
2699
2665
  int type () const                 { return _type; }
2700
2666
  const Location &location () const { return _location; }
2771
2737
 
2772
2738
#endif /* __Token_h__ */
2773
2739
 
2774
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
 
2740
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
2775
2741
namespace Puma {
2776
2742
 
2777
2743
 
2778
2744
 
2779
 
#line 2780 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2745
#line 2746 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2780
2746
} // closed Puma
 
2747
class CCExprResolve;
 
2748
class CExprResolve;
2781
2749
class WinIfExists;
2782
2750
class WinImportHandler;
2783
2751
class WinMacros;
2784
 
class CMatchSyntax;
2785
 
class ExtGnu;
 
2752
class WinAsm;
 
2753
class WinDeclSpecs;
 
2754
class WinMemberExplSpec;
 
2755
class WinTypeKeywords;
 
2756
class WinFriend;
2786
2757
class ExtAC;
2787
2758
class ExtACBuilderCoupling;
2788
2759
class ExtACSyntaxCoupling;
2789
2760
class ExtACTree;
2790
2761
class ExtACKeywords;
2791
 
class WinAsm;
2792
 
class WinDeclSpecs;
2793
 
class WinMemberExplSpec;
2794
 
class WinTypeKeywords;
 
2762
class ExtGnu;
2795
2763
class PragmaOnceUnitState;
2796
2764
class PragmaOnce;
2797
 
class CCExprResolve;
2798
 
class CExprResolve;
 
2765
class CMatchSyntax;
2799
2766
namespace Puma {
2800
2767
 
2801
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
 
2768
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
2802
2769
class UnitTokenSrc : public PumaTokenSource {
2803
 
#line 2804 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2770
#line 2771 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2771
  friend class ::CCExprResolve;
 
2772
  friend class ::CExprResolve;
2804
2773
  friend class ::WinIfExists;
2805
2774
  friend class ::WinImportHandler;
2806
2775
  friend class ::WinMacros;
2807
 
  friend class ::CMatchSyntax;
2808
 
  friend class ::ExtGnu;
 
2776
  friend class ::WinAsm;
 
2777
  friend class ::WinDeclSpecs;
 
2778
  friend class ::WinMemberExplSpec;
 
2779
  friend class ::WinTypeKeywords;
 
2780
  friend class ::WinFriend;
2809
2781
  friend class ::ExtAC;
2810
2782
  friend class ::ExtACBuilderCoupling;
2811
2783
  friend class ::ExtACSyntaxCoupling;
2812
2784
  friend class ::ExtACTree;
2813
2785
  friend class ::ExtACKeywords;
2814
 
  friend class ::WinAsm;
2815
 
  friend class ::WinDeclSpecs;
2816
 
  friend class ::WinMemberExplSpec;
2817
 
  friend class ::WinTypeKeywords;
 
2786
  friend class ::ExtGnu;
2818
2787
  friend class ::PragmaOnceUnitState;
2819
2788
  friend class ::PragmaOnce;
2820
 
  friend class ::CCExprResolve;
2821
 
  friend class ::CExprResolve;
 
2789
  friend class ::CMatchSyntax;
2822
2790
 
2823
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
 
2791
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitTokenSrc.h"
2824
2792
 
2825
2793
  Unit &_unit;
2826
2794
  Token *_curr;
2855
2823
 
2856
2824
#endif /* __Unit_Token_Src__ */
2857
2825
 
2858
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenStream.h"
 
2826
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenStream.h"
2859
2827
namespace Puma {
2860
2828
 
2861
2829
 
2862
2830
 
2863
 
#line 2864 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2831
#line 2832 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2864
2832
} // closed Puma
 
2833
class CCExprResolve;
 
2834
class CExprResolve;
2865
2835
class WinIfExists;
2866
2836
class WinImportHandler;
2867
2837
class WinMacros;
2868
 
class CMatchSyntax;
2869
 
class ExtGnu;
 
2838
class WinAsm;
 
2839
class WinDeclSpecs;
 
2840
class WinMemberExplSpec;
 
2841
class WinTypeKeywords;
 
2842
class WinFriend;
2870
2843
class ExtAC;
2871
2844
class ExtACBuilderCoupling;
2872
2845
class ExtACSyntaxCoupling;
2873
2846
class ExtACTree;
2874
2847
class ExtACKeywords;
2875
 
class WinAsm;
2876
 
class WinDeclSpecs;
2877
 
class WinMemberExplSpec;
2878
 
class WinTypeKeywords;
 
2848
class ExtGnu;
2879
2849
class PragmaOnceUnitState;
2880
2850
class PragmaOnce;
2881
 
class CCExprResolve;
2882
 
class CExprResolve;
 
2851
class CMatchSyntax;
2883
2852
namespace Puma {
2884
2853
 
2885
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenStream.h"
 
2854
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenStream.h"
2886
2855
class TokenStream : public PumaTokenSource, public Array<UnitTokenSrc*> {
2887
 
#line 2888 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2856
#line 2857 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2857
  friend class ::CCExprResolve;
 
2858
  friend class ::CExprResolve;
2888
2859
  friend class ::WinIfExists;
2889
2860
  friend class ::WinImportHandler;
2890
2861
  friend class ::WinMacros;
2891
 
  friend class ::CMatchSyntax;
2892
 
  friend class ::ExtGnu;
 
2862
  friend class ::WinAsm;
 
2863
  friend class ::WinDeclSpecs;
 
2864
  friend class ::WinMemberExplSpec;
 
2865
  friend class ::WinTypeKeywords;
 
2866
  friend class ::WinFriend;
2893
2867
  friend class ::ExtAC;
2894
2868
  friend class ::ExtACBuilderCoupling;
2895
2869
  friend class ::ExtACSyntaxCoupling;
2896
2870
  friend class ::ExtACTree;
2897
2871
  friend class ::ExtACKeywords;
2898
 
  friend class ::WinAsm;
2899
 
  friend class ::WinDeclSpecs;
2900
 
  friend class ::WinMemberExplSpec;
2901
 
  friend class ::WinTypeKeywords;
 
2872
  friend class ::ExtGnu;
2902
2873
  friend class ::PragmaOnceUnitState;
2903
2874
  friend class ::PragmaOnce;
2904
 
  friend class ::CCExprResolve;
2905
 
  friend class ::CExprResolve;
 
2875
  friend class ::CMatchSyntax;
2906
2876
 
2907
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/TokenStream.h"
 
2877
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/TokenStream.h"
2908
2878
 
2909
2879
public:
2910
2880
  TokenStream () : Array<UnitTokenSrc*> (20) {}
2925
2895
 
2926
2896
#endif /* __TokenStream__ */
2927
2897
 
2928
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SysCall.h"
 
2898
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SysCall.h"
2929
2899
// This file is part of PUMA.
2930
2900
// Copyright (C) 1999-2003  The PUMA developer team.
2931
2901
//                                                                
2954
2924
#include <stddef.h>
2955
2925
#include <sys/stat.h>
2956
2926
 
2957
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SysCall.h"
 
2927
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SysCall.h"
2958
2928
#ifdef _MSC_VER
2959
2929
#include <string.h>
2960
2930
#include <stdlib.h>
2963
2933
#endif // _MSVC
2964
2934
 
2965
2935
 
2966
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SysCall.h"
 
2936
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SysCall.h"
2967
2937
namespace Puma {
2968
2938
 
2969
2939
class SysCall;
2970
2940
 
2971
 
#line 2972 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2941
 
 
2942
#line 2943 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
2972
2943
} // closed Puma
 
2944
class CCExprResolve;
 
2945
class CExprResolve;
2973
2946
class WinIfExists;
2974
2947
class WinImportHandler;
2975
2948
class WinMacros;
2976
 
class CMatchSyntax;
2977
 
class ExtGnu;
 
2949
class WinAsm;
 
2950
class WinDeclSpecs;
 
2951
class WinMemberExplSpec;
 
2952
class WinTypeKeywords;
 
2953
class WinFriend;
2978
2954
class ExtAC;
2979
2955
class ExtACBuilderCoupling;
2980
2956
class ExtACSyntaxCoupling;
2981
2957
class ExtACTree;
2982
2958
class ExtACKeywords;
2983
 
class WinAsm;
2984
 
class WinDeclSpecs;
2985
 
class WinMemberExplSpec;
2986
 
class WinTypeKeywords;
 
2959
class ExtGnu;
2987
2960
class PragmaOnceUnitState;
2988
2961
class PragmaOnce;
2989
 
class CCExprResolve;
2990
 
class CExprResolve;
 
2962
class CMatchSyntax;
2991
2963
namespace Puma {
2992
2964
 
2993
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SysCall.h"
 
2965
#line 42 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SysCall.h"
2994
2966
class FileInfo {
2995
 
#line 2996 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2967
#line 2968 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
2968
  friend class ::CCExprResolve;
 
2969
  friend class ::CExprResolve;
2996
2970
  friend class ::WinIfExists;
2997
2971
  friend class ::WinImportHandler;
2998
2972
  friend class ::WinMacros;
2999
 
  friend class ::CMatchSyntax;
3000
 
  friend class ::ExtGnu;
 
2973
  friend class ::WinAsm;
 
2974
  friend class ::WinDeclSpecs;
 
2975
  friend class ::WinMemberExplSpec;
 
2976
  friend class ::WinTypeKeywords;
 
2977
  friend class ::WinFriend;
3001
2978
  friend class ::ExtAC;
3002
2979
  friend class ::ExtACBuilderCoupling;
3003
2980
  friend class ::ExtACSyntaxCoupling;
3004
2981
  friend class ::ExtACTree;
3005
2982
  friend class ::ExtACKeywords;
3006
 
  friend class ::WinAsm;
3007
 
  friend class ::WinDeclSpecs;
3008
 
  friend class ::WinMemberExplSpec;
3009
 
  friend class ::WinTypeKeywords;
 
2983
  friend class ::ExtGnu;
3010
2984
  friend class ::PragmaOnceUnitState;
3011
2985
  friend class ::PragmaOnce;
3012
 
  friend class ::CCExprResolve;
3013
 
  friend class ::CExprResolve;
 
2986
  friend class ::CMatchSyntax;
3014
2987
 
3015
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SysCall.h"
 
2988
#line 42 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SysCall.h"
3016
2989
 
3017
2990
  friend class SysCall;
3018
2991
#ifndef _MSC_VER
3020
2993
#else
3021
2994
  struct _stat _info;
3022
2995
#endif
 
2996
 
3023
2997
public:
3024
2998
  bool is_dir () const {
3025
2999
#ifdef _MSC_VER
3026
 
          return _S_IFDIR & _info.st_mode; }
 
3000
    return _S_IFDIR & _info.st_mode;
3027
3001
#else
3028
 
          return S_ISDIR (_info.st_mode); }
 
3002
    return S_ISDIR (_info.st_mode);
3029
3003
#endif // _MSC_VER
 
3004
  }
3030
3005
  time_t modi_time () const { return _info.st_mtime; }
3031
3006
  int size () const { return _info.st_size; }
3032
3007
};
3033
3008
 
3034
3009
#ifdef _MSC_VER
3035
3010
struct DIR {
3036
 
        long _handle;
3037
 
        DIR (long h) : _handle (h) {}
 
3011
  long _handle;
 
3012
  DIR (long h) : _handle (h) {}
3038
3013
};
3039
3014
#endif // _MSC_VER
3040
3015
 
3044
3019
class ErrorSink;
3045
3020
 
3046
3021
 
3047
 
#line 3048 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3022
#line 3023 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
3048
3023
} // closed Puma
 
3024
class CCExprResolve;
 
3025
class CExprResolve;
3049
3026
class WinIfExists;
3050
3027
class WinImportHandler;
3051
3028
class WinMacros;
3052
 
class CMatchSyntax;
3053
 
class ExtGnu;
 
3029
class WinAsm;
 
3030
class WinDeclSpecs;
 
3031
class WinMemberExplSpec;
 
3032
class WinTypeKeywords;
 
3033
class WinFriend;
3054
3034
class ExtAC;
3055
3035
class ExtACBuilderCoupling;
3056
3036
class ExtACSyntaxCoupling;
3057
3037
class ExtACTree;
3058
3038
class ExtACKeywords;
3059
 
class WinAsm;
3060
 
class WinDeclSpecs;
3061
 
class WinMemberExplSpec;
3062
 
class WinTypeKeywords;
 
3039
class ExtGnu;
3063
3040
class PragmaOnceUnitState;
3064
3041
class PragmaOnce;
3065
 
class CCExprResolve;
3066
 
class CExprResolve;
 
3042
class CMatchSyntax;
3067
3043
namespace Puma {
3068
3044
 
3069
 
#line 71 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SysCall.h"
 
3045
#line 74 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SysCall.h"
3070
3046
class SysCall {
3071
 
#line 3072 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3047
#line 3048 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3048
  friend class ::CCExprResolve;
 
3049
  friend class ::CExprResolve;
3072
3050
  friend class ::WinIfExists;
3073
3051
  friend class ::WinImportHandler;
3074
3052
  friend class ::WinMacros;
3075
 
  friend class ::CMatchSyntax;
3076
 
  friend class ::ExtGnu;
 
3053
  friend class ::WinAsm;
 
3054
  friend class ::WinDeclSpecs;
 
3055
  friend class ::WinMemberExplSpec;
 
3056
  friend class ::WinTypeKeywords;
 
3057
  friend class ::WinFriend;
3077
3058
  friend class ::ExtAC;
3078
3059
  friend class ::ExtACBuilderCoupling;
3079
3060
  friend class ::ExtACSyntaxCoupling;
3080
3061
  friend class ::ExtACTree;
3081
3062
  friend class ::ExtACKeywords;
3082
 
  friend class ::WinAsm;
3083
 
  friend class ::WinDeclSpecs;
3084
 
  friend class ::WinMemberExplSpec;
3085
 
  friend class ::WinTypeKeywords;
 
3063
  friend class ::ExtGnu;
3086
3064
  friend class ::PragmaOnceUnitState;
3087
3065
  friend class ::PragmaOnce;
3088
 
  friend class ::CCExprResolve;
3089
 
  friend class ::CExprResolve;
 
3066
  friend class ::CMatchSyntax;
3090
3067
 
3091
 
#line 71 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SysCall.h"
 
3068
#line 74 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SysCall.h"
3092
3069
 
3093
3070
  static void printerror (ErrorSink *, const char *, 
3094
3071
                          const char * = (const char *)0);
3100
3077
  // create temporary file name, needs to be freed by caller
3101
3078
  static const char* mktemp (const char *prefix, ErrorSink * = (ErrorSink *)0);
3102
3079
 
3103
 
  // open/close file
 
3080
  // open/create/close file with exclusive file locking
 
3081
  static int open_excl (const char *, int, ErrorSink * = (ErrorSink *)0);
 
3082
  static int create_excl (const char *, int, ErrorSink * = (ErrorSink *)0);
 
3083
  static bool close_excl (int, ErrorSink * = (ErrorSink *)0);
 
3084
        
 
3085
  // open/create/close file
3104
3086
  static int open (const char *, int, ErrorSink * = (ErrorSink *)0);
 
3087
  static int create (const char *, int, ErrorSink * = (ErrorSink *)0);
3105
3088
  static bool close (int, ErrorSink * = (ErrorSink *)0);
3106
3089
        
3107
3090
  // read from file descriptor
3153
3136
 
3154
3137
#endif /* __SysCall_h__ */
3155
3138
 
3156
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
3139
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
3157
3140
 
3158
 
#line 3159 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3141
#line 3142 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
3159
3142
 
3160
3143
#ifndef __ac_fwd_ExtACKeywords__
3161
3144
#define __ac_fwd_ExtACKeywords__
3162
3145
class ExtACKeywords;
3163
3146
namespace AC {
3164
 
  template <class JoinPoint, class Binding>
3165
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
3166
 
  template <class JoinPoint, class Binding>
3167
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
3168
 
  template <class JoinPoint>
3169
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
3147
  template <class JoinPoint>
 
3148
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
3149
  template <class JoinPoint>
 
3150
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
3151
  template <class JoinPoint>
 
3152
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
3170
3153
}
3171
3154
#endif
3172
3155
 
3173
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
3174
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
3156
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
3157
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
3175
3158
#endif
3176
3159
 
3177
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
3160
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
3178
3161
// This file is part of PUMA.
3179
3162
// Copyright (C) 1999-2003  The PUMA developer team.
3180
3163
//                                                                
3197
3180
#define __c_scanner_h__
3198
3181
 
3199
3182
 
3200
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
3183
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
3201
3184
// This file is part of PUMA.
3202
3185
// Copyright (C) 1999-2003  The PUMA developer team.
3203
3186
//                                                                
3220
3203
#define __c_recognizer_h__
3221
3204
 
3222
3205
 
3223
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
3206
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
3224
3207
// This file is part of PUMA.
3225
3208
// Copyright (C) 1999-2003  The PUMA developer team.
3226
3209
//                                                                
3243
3226
#define __CScanBuffer_h__
3244
3227
 
3245
3228
 
3246
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
3229
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
3247
3230
// This file is part of PUMA.
3248
3231
// Copyright (C) 1999-2003  The PUMA developer team.
3249
3232
//                                                                
3265
3248
#ifndef __scan_buffer_h__
3266
3249
#define __scan_buffer_h__
3267
3250
 
 
3251
 
 
3252
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
3253
using namespace std;
 
3254
 
3268
3255
namespace Puma {
3269
3256
 
3270
3257
 
3271
 
 
3272
 
#line 3273 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3258
#line 3259 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
3273
3259
} // closed Puma
 
3260
class CCExprResolve;
 
3261
class CExprResolve;
3274
3262
class WinIfExists;
3275
3263
class WinImportHandler;
3276
3264
class WinMacros;
3277
 
class CMatchSyntax;
3278
 
class ExtGnu;
 
3265
class WinAsm;
 
3266
class WinDeclSpecs;
 
3267
class WinMemberExplSpec;
 
3268
class WinTypeKeywords;
 
3269
class WinFriend;
3279
3270
class ExtAC;
3280
3271
class ExtACBuilderCoupling;
3281
3272
class ExtACSyntaxCoupling;
3282
3273
class ExtACTree;
3283
3274
class ExtACKeywords;
3284
 
class WinAsm;
3285
 
class WinDeclSpecs;
3286
 
class WinMemberExplSpec;
3287
 
class WinTypeKeywords;
 
3275
class ExtGnu;
3288
3276
class PragmaOnceUnitState;
3289
3277
class PragmaOnce;
3290
 
class CCExprResolve;
3291
 
class CExprResolve;
 
3278
class CMatchSyntax;
3292
3279
namespace Puma {
3293
3280
 
3294
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
3281
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
3295
3282
class ScanBuffer {
3296
 
#line 3297 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3283
#line 3284 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3284
  friend class ::CCExprResolve;
 
3285
  friend class ::CExprResolve;
3297
3286
  friend class ::WinIfExists;
3298
3287
  friend class ::WinImportHandler;
3299
3288
  friend class ::WinMacros;
3300
 
  friend class ::CMatchSyntax;
3301
 
  friend class ::ExtGnu;
 
3289
  friend class ::WinAsm;
 
3290
  friend class ::WinDeclSpecs;
 
3291
  friend class ::WinMemberExplSpec;
 
3292
  friend class ::WinTypeKeywords;
 
3293
  friend class ::WinFriend;
3302
3294
  friend class ::ExtAC;
3303
3295
  friend class ::ExtACBuilderCoupling;
3304
3296
  friend class ::ExtACSyntaxCoupling;
3305
3297
  friend class ::ExtACTree;
3306
3298
  friend class ::ExtACKeywords;
3307
 
  friend class ::WinAsm;
3308
 
  friend class ::WinDeclSpecs;
3309
 
  friend class ::WinMemberExplSpec;
3310
 
  friend class ::WinTypeKeywords;
 
3299
  friend class ::ExtGnu;
3311
3300
  friend class ::PragmaOnceUnitState;
3312
3301
  friend class ::PragmaOnce;
3313
 
  friend class ::CCExprResolve;
3314
 
  friend class ::CExprResolve;
 
3302
  friend class ::CMatchSyntax;
3315
3303
 
3316
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
 
3304
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ScanBuffer.h"
3317
3305
 
3318
3306
public:
3319
 
  typedef enum { STATE_END, STATE_ERROR, STATE_OK } State;
 
3307
  typedef enum { STATE_NEW, STATE_END, STATE_ERROR, STATE_OK } State;
 
3308
 
 
3309
private:
 
3310
  int _token;      // start position of current token
 
3311
  int _pos;        // current position (in token; _pos >= _token && pos < filled)
 
3312
  char *_buffer;   // token to the buffer that contains all input characters
 
3313
  int  _buff_size; // size of the input buffer
 
3314
  State _state;
 
3315
 
 
3316
public:  
 
3317
  ScanBuffer () : _state (STATE_NEW) {}
 
3318
 
 
3319
  // init buffer to directly scan from a string
 
3320
  void init (const char *str, int l = 0);
3320
3321
  
3321
 
  virtual ~ScanBuffer () {}
3322
 
 
3323
 
  virtual char next () = 0;
3324
 
  virtual char *token () = 0;
3325
 
  virtual int len () const = 0;
3326
 
  virtual void reset () = 0;
3327
 
  virtual void retry () = 0; 
3328
 
  virtual void accept (int len) = 0;
3329
 
  virtual void more (int len) = 0;
3330
 
  virtual State state () const = 0;
 
3322
  char next () { return _buffer[_pos++]; }
 
3323
  char lookahead () { return _buffer[_pos]; }
 
3324
  char *token () const { return _buffer + _token; }
 
3325
  int len () const { return _pos - _token; }
 
3326
  void reset () { _token = _pos = 0; }
 
3327
  void retry () { _pos = _token; } 
 
3328
  void accept (int len) {
 
3329
    _token += len;
 
3330
    _pos = _token;
 
3331
  }
 
3332
  void more (int len) { _pos = _token + len; }
 
3333
  State state () {
 
3334
    if (_state == STATE_OK && _pos >= _buff_size)
 
3335
      return STATE_END;
 
3336
    return _state;
 
3337
  }
3331
3338
};
3332
3339
 
3333
3340
 
3335
3342
 
3336
3343
#endif /* __scan_buffer_h__ */
3337
3344
 
3338
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
3345
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
3339
3346
namespace Puma {
3340
3347
 
3341
3348
 
3342
3349
 
3343
 
#line 3344 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3350
#line 3351 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
3344
3351
} // closed Puma
 
3352
class CCExprResolve;
 
3353
class CExprResolve;
3345
3354
class WinIfExists;
3346
3355
class WinImportHandler;
3347
3356
class WinMacros;
3348
 
class CMatchSyntax;
3349
 
class ExtGnu;
 
3357
class WinAsm;
 
3358
class WinDeclSpecs;
 
3359
class WinMemberExplSpec;
 
3360
class WinTypeKeywords;
 
3361
class WinFriend;
3350
3362
class ExtAC;
3351
3363
class ExtACBuilderCoupling;
3352
3364
class ExtACSyntaxCoupling;
3353
3365
class ExtACTree;
3354
3366
class ExtACKeywords;
3355
 
class WinAsm;
3356
 
class WinDeclSpecs;
3357
 
class WinMemberExplSpec;
3358
 
class WinTypeKeywords;
 
3367
class ExtGnu;
3359
3368
class PragmaOnceUnitState;
3360
3369
class PragmaOnce;
3361
 
class CCExprResolve;
3362
 
class CExprResolve;
 
3370
class CMatchSyntax;
3363
3371
namespace Puma {
3364
3372
 
3365
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
3366
 
class CScanBuffer {
3367
 
#line 3368 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3373
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
3374
class CScanBuffer : public ScanBuffer {
 
3375
#line 3376 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3376
  friend class ::CCExprResolve;
 
3377
  friend class ::CExprResolve;
3368
3378
  friend class ::WinIfExists;
3369
3379
  friend class ::WinImportHandler;
3370
3380
  friend class ::WinMacros;
3371
 
  friend class ::CMatchSyntax;
3372
 
  friend class ::ExtGnu;
 
3381
  friend class ::WinAsm;
 
3382
  friend class ::WinDeclSpecs;
 
3383
  friend class ::WinMemberExplSpec;
 
3384
  friend class ::WinTypeKeywords;
 
3385
  friend class ::WinFriend;
3373
3386
  friend class ::ExtAC;
3374
3387
  friend class ::ExtACBuilderCoupling;
3375
3388
  friend class ::ExtACSyntaxCoupling;
3376
3389
  friend class ::ExtACTree;
3377
3390
  friend class ::ExtACKeywords;
3378
 
  friend class ::WinAsm;
3379
 
  friend class ::WinDeclSpecs;
3380
 
  friend class ::WinMemberExplSpec;
3381
 
  friend class ::WinTypeKeywords;
 
3391
  friend class ::ExtGnu;
3382
3392
  friend class ::PragmaOnceUnitState;
3383
3393
  friend class ::PragmaOnce;
3384
 
  friend class ::CCExprResolve;
3385
 
  friend class ::CExprResolve;
3386
 
 
3387
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
3388
 
 
3389
 
  ScanBuffer *next_buffer;
3390
 
  bool on_new_line;
3391
 
  int nl_pos;
3392
 
 
 
3394
  friend class ::CMatchSyntax;
 
3395
 
 
3396
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanBuffer.h"
 
3397
 
 
3398
 
 
3399
  int _new_line_pos;
3393
3400
  void check ();
3394
3401
 
3395
3402
public:
3396
 
  void decorate (ScanBuffer *nb) { next_buffer = nb; }
 
3403
  CScanBuffer () : _new_line_pos (-1) {}
3397
3404
  inline char next ();
3398
3405
  inline void reset ();
 
3406
  inline void retry (); 
3399
3407
  inline void accept (int len);
3400
 
  inline void retry ();
3401
 
  bool new_line () const { return on_new_line; }
3402
 
  char *token () { return next_buffer->token (); }
3403
 
  int len () const { return next_buffer->len (); }
3404
 
  void more (int len) { next_buffer->more (len); }
3405
 
  ScanBuffer::State state () const { return next_buffer->state (); }
 
3408
  inline bool new_line (int len) const;
3406
3409
};
3407
3410
 
3408
3411
 
3409
3412
inline char CScanBuffer::next () {
3410
 
  char character = next_buffer->next ();
3411
 
  if (character == '\n' && nl_pos == -1)
3412
 
    nl_pos = len () - 1;
3413
 
  check ();
 
3413
  char character = ScanBuffer::next ();
 
3414
  if (character == '\n' && _new_line_pos == -1)
 
3415
    _new_line_pos = len ();
 
3416
  if (ScanBuffer::state () == ScanBuffer::STATE_OK &&
 
3417
      ScanBuffer::lookahead () == '\\')
 
3418
    check ();
3414
3419
  return character;
3415
3420
}
3416
3421
 
3417
3422
inline void CScanBuffer::reset () { 
3418
 
  next_buffer->reset (); 
3419
 
  on_new_line = true;
3420
 
  nl_pos = -1;
 
3423
  ScanBuffer::reset ();
 
3424
  _new_line_pos = -1;
3421
3425
  check ();
3422
3426
}
3423
3427
 
3424
 
 
3425
3428
inline void CScanBuffer::retry () {
3426
 
  nl_pos = -1;
3427
 
  next_buffer->retry ();
 
3429
  ScanBuffer::retry ();
 
3430
  _new_line_pos = -1;
3428
3431
}
3429
3432
 
3430
 
 
3431
3433
inline void CScanBuffer::accept (int len) {
3432
 
  on_new_line = (nl_pos >= 0 && nl_pos < len);
3433
 
  nl_pos = -1;
3434
 
  next_buffer->accept (len);
 
3434
  ScanBuffer::accept (len);
 
3435
  _new_line_pos = -1;
 
3436
}
 
3437
 
 
3438
inline bool CScanBuffer::new_line (int len) const {
 
3439
  return _new_line_pos != -1 && _new_line_pos <= len;
3435
3440
}
3436
3441
 
3437
3442
} // namespace Puma
3438
3443
 
3439
3444
#endif // __CScanBuffer_h__
3440
3445
 
3441
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
3446
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
3442
3447
// This file is part of PUMA.
3443
3448
// Copyright (C) 1999-2003  The PUMA developer team.
3444
3449
//                                                                
3461
3466
#define __c_comment_recognizer_h__
3462
3467
 
3463
3468
 
3464
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
3469
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
3465
3470
// This file is part of PUMA.
3466
3471
// Copyright (C) 1999-2003  The PUMA developer team.
3467
3472
//                                                                
3488
3493
// generated mapping table
3489
3494
 
3490
3495
 
3491
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
 
3496
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3492
3497
// This file is part of PUMA.
3493
3498
// Copyright (C) 1999-2003  The PUMA developer team.
3494
3499
//                                                                
3513
3518
// The token recognizer class, which uses scanner tables generated by the
3514
3519
// orange tool.
3515
3520
 
3516
 
 
3517
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3518
3521
namespace Puma {
3519
3522
 
3520
3523
 
3521
3524
#ifndef __TTGEN__
3522
3525
#  define __TTGEN__
3523
 
 
3524
 
#line 3525 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
3525
 
} // closed Puma
3526
 
class WinIfExists;
3527
 
class WinImportHandler;
3528
 
class WinMacros;
3529
 
class CMatchSyntax;
3530
 
class ExtGnu;
3531
 
class ExtAC;
3532
 
class ExtACBuilderCoupling;
3533
 
class ExtACSyntaxCoupling;
3534
 
class ExtACTree;
3535
 
class ExtACKeywords;
3536
 
class WinAsm;
3537
 
class WinDeclSpecs;
3538
 
class WinMemberExplSpec;
3539
 
class WinTypeKeywords;
3540
 
class PragmaOnceUnitState;
3541
 
class PragmaOnce;
3542
 
class CCExprResolve;
3543
 
class CExprResolve;
3544
 
namespace Puma {
3545
 
 
3546
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3547
3526
typedef struct
3548
 
 {
3549
 
#line 3550 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
3550
 
  friend class ::WinIfExists;
3551
 
  friend class ::WinImportHandler;
3552
 
  friend class ::WinMacros;
3553
 
  friend class ::CMatchSyntax;
3554
 
  friend class ::ExtGnu;
3555
 
  friend class ::ExtAC;
3556
 
  friend class ::ExtACBuilderCoupling;
3557
 
  friend class ::ExtACSyntaxCoupling;
3558
 
  friend class ::ExtACTree;
3559
 
  friend class ::ExtACKeywords;
3560
 
  friend class ::WinAsm;
3561
 
  friend class ::WinDeclSpecs;
3562
 
  friend class ::WinMemberExplSpec;
3563
 
  friend class ::WinTypeKeywords;
3564
 
  friend class ::PragmaOnceUnitState;
3565
 
  friend class ::PragmaOnce;
3566
 
  friend class ::CCExprResolve;
3567
 
  friend class ::CExprResolve;
3568
 
 
3569
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3570
 
 unsigned char Type;
 
3527
 { unsigned char Type;
3571
3528
   unsigned char LookAhead;
3572
3529
   int           Expression;
3573
3530
   int           Start;
3577
3534
 
3578
3535
// class declaration
3579
3536
 
3580
 
 
3581
 
#line 3582 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
3582
 
} // closed Puma
3583
 
class WinIfExists;
3584
 
class WinImportHandler;
3585
 
class WinMacros;
3586
 
class CMatchSyntax;
3587
 
class ExtGnu;
3588
 
class ExtAC;
3589
 
class ExtACBuilderCoupling;
3590
 
class ExtACSyntaxCoupling;
3591
 
class ExtACTree;
3592
 
class ExtACKeywords;
3593
 
class WinAsm;
3594
 
class WinDeclSpecs;
3595
 
class WinMemberExplSpec;
3596
 
class WinTypeKeywords;
3597
 
class PragmaOnceUnitState;
3598
 
class PragmaOnce;
3599
 
class CCExprResolve;
3600
 
class CExprResolve;
3601
 
namespace Puma {
3602
 
 
3603
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3604
3537
template <typename TScanBuffer>
3605
3538
class OrangeRecognizer {
3606
 
#line 3607 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
3607
 
  friend class ::WinIfExists;
3608
 
  friend class ::WinImportHandler;
3609
 
  friend class ::WinMacros;
3610
 
  friend class ::CMatchSyntax;
3611
 
  friend class ::ExtGnu;
3612
 
  friend class ::ExtAC;
3613
 
  friend class ::ExtACBuilderCoupling;
3614
 
  friend class ::ExtACSyntaxCoupling;
3615
 
  friend class ::ExtACTree;
3616
 
  friend class ::ExtACKeywords;
3617
 
  friend class ::WinAsm;
3618
 
  friend class ::WinDeclSpecs;
3619
 
  friend class ::WinMemberExplSpec;
3620
 
  friend class ::WinTypeKeywords;
3621
 
  friend class ::PragmaOnceUnitState;
3622
 
  friend class ::PragmaOnce;
3623
 
  friend class ::CCExprResolve;
3624
 
  friend class ::CExprResolve;
3625
 
 
3626
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OrangeRecognizer.h"
3627
 
 
3628
3539
  // local structures generated by Orange
3629
3540
 
3630
3541
  char *_map;
3657
3568
  int  LookAheadLen;
3658
3569
  int  AcceptLen;
3659
3570
  int  AcceptState;
3660
 
  ScanBuffer::State buffer_state = ScanBuffer::STATE_OK;
 
3571
  typename TScanBuffer::State buffer_state = TScanBuffer::STATE_OK;
3661
3572
 
3662
3573
  State = _start;
3663
3574
  AcceptState = -1;
3690
3601
      LookAheadLen = scan_buffer->len ();
3691
3602
 
3692
3603
    buffer_state = scan_buffer->state ();
3693
 
  } while (NextState != -1 && buffer_state == ScanBuffer::STATE_OK);
 
3604
  } while (NextState != -1 && buffer_state == TScanBuffer::STATE_OK);
3694
3605
 
3695
 
  if (buffer_state == ScanBuffer::STATE_ERROR)
 
3606
  if (buffer_state == TScanBuffer::STATE_ERROR)
3696
3607
    return -1;
3697
3608
 
3698
3609
  if (AcceptState == -1)
3708
3619
 
3709
3620
#endif /* __orange_recognizer_h__ */
3710
3621
 
3711
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
 
3622
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
3712
3623
namespace Puma {
3713
3624
 
3714
3625
 
3715
3626
// class declaration
3716
3627
 
3717
 
 
3718
 
#line 3719 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
3719
 
} // closed Puma
3720
 
class WinIfExists;
3721
 
class WinImportHandler;
3722
 
class WinMacros;
3723
 
class CMatchSyntax;
3724
 
class ExtGnu;
3725
 
class ExtAC;
3726
 
class ExtACBuilderCoupling;
3727
 
class ExtACSyntaxCoupling;
3728
 
class ExtACTree;
3729
 
class ExtACKeywords;
3730
 
class WinAsm;
3731
 
class WinDeclSpecs;
3732
 
class WinMemberExplSpec;
3733
 
class WinTypeKeywords;
3734
 
class PragmaOnceUnitState;
3735
 
class PragmaOnce;
3736
 
class CCExprResolve;
3737
 
class CExprResolve;
3738
 
namespace Puma {
3739
 
 
3740
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
3741
3628
template <class ScanBuffer>
3742
3629
class MappedOrangeRecognizer : public OrangeRecognizer<ScanBuffer> {
3743
 
#line 3744 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
3744
 
  friend class ::WinIfExists;
3745
 
  friend class ::WinImportHandler;
3746
 
  friend class ::WinMacros;
3747
 
  friend class ::CMatchSyntax;
3748
 
  friend class ::ExtGnu;
3749
 
  friend class ::ExtAC;
3750
 
  friend class ::ExtACBuilderCoupling;
3751
 
  friend class ::ExtACSyntaxCoupling;
3752
 
  friend class ::ExtACTree;
3753
 
  friend class ::ExtACKeywords;
3754
 
  friend class ::WinAsm;
3755
 
  friend class ::WinDeclSpecs;
3756
 
  friend class ::WinMemberExplSpec;
3757
 
  friend class ::WinTypeKeywords;
3758
 
  friend class ::PragmaOnceUnitState;
3759
 
  friend class ::PragmaOnce;
3760
 
  friend class ::CCExprResolve;
3761
 
  friend class ::CExprResolve;
3762
 
 
3763
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MappedOrangeRecognizer.h"
3764
 
 
3765
3630
  int *_expr_map;
3766
3631
 
3767
3632
public:
3789
3654
 
3790
3655
#endif // __mapped_orange_recognizer_h__
3791
3656
 
3792
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
3657
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
3793
3658
namespace Puma {
3794
3659
 
3795
3660
 
3796
3661
 
3797
 
#line 3798 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3662
#line 3663 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
3798
3663
} // closed Puma
 
3664
class CCExprResolve;
 
3665
class CExprResolve;
3799
3666
class WinIfExists;
3800
3667
class WinImportHandler;
3801
3668
class WinMacros;
3802
 
class CMatchSyntax;
3803
 
class ExtGnu;
 
3669
class WinAsm;
 
3670
class WinDeclSpecs;
 
3671
class WinMemberExplSpec;
 
3672
class WinTypeKeywords;
 
3673
class WinFriend;
3804
3674
class ExtAC;
3805
3675
class ExtACBuilderCoupling;
3806
3676
class ExtACSyntaxCoupling;
3807
3677
class ExtACTree;
3808
3678
class ExtACKeywords;
3809
 
class WinAsm;
3810
 
class WinDeclSpecs;
3811
 
class WinMemberExplSpec;
3812
 
class WinTypeKeywords;
 
3679
class ExtGnu;
3813
3680
class PragmaOnceUnitState;
3814
3681
class PragmaOnce;
3815
 
class CCExprResolve;
3816
 
class CExprResolve;
 
3682
class CMatchSyntax;
3817
3683
namespace Puma {
3818
3684
 
3819
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
3685
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
3820
3686
class CCommentRecognizer {
3821
 
#line 3822 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3687
#line 3688 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3688
  friend class ::CCExprResolve;
 
3689
  friend class ::CExprResolve;
3822
3690
  friend class ::WinIfExists;
3823
3691
  friend class ::WinImportHandler;
3824
3692
  friend class ::WinMacros;
3825
 
  friend class ::CMatchSyntax;
3826
 
  friend class ::ExtGnu;
 
3693
  friend class ::WinAsm;
 
3694
  friend class ::WinDeclSpecs;
 
3695
  friend class ::WinMemberExplSpec;
 
3696
  friend class ::WinTypeKeywords;
 
3697
  friend class ::WinFriend;
3827
3698
  friend class ::ExtAC;
3828
3699
  friend class ::ExtACBuilderCoupling;
3829
3700
  friend class ::ExtACSyntaxCoupling;
3830
3701
  friend class ::ExtACTree;
3831
3702
  friend class ::ExtACKeywords;
3832
 
  friend class ::WinAsm;
3833
 
  friend class ::WinDeclSpecs;
3834
 
  friend class ::WinMemberExplSpec;
3835
 
  friend class ::WinTypeKeywords;
 
3703
  friend class ::ExtGnu;
3836
3704
  friend class ::PragmaOnceUnitState;
3837
3705
  friend class ::PragmaOnce;
3838
 
  friend class ::CCExprResolve;
3839
 
  friend class ::CExprResolve;
 
3706
  friend class ::CMatchSyntax;
3840
3707
 
3841
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
 
3708
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CCommentRecognizer.h"
3842
3709
 
3843
3710
public:
3844
3711
  typedef enum { NO_COMMENT, SL_COMMENT, ML_COMMENT } Mode;
3861
3728
 
3862
3729
#endif /* __c_comment_recognizer_h__ */
3863
3730
 
3864
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
3731
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
3865
3732
// This file is part of PUMA.
3866
3733
// Copyright (C) 1999-2003  The PUMA developer team.
3867
3734
//                                                                
3884
3751
#define __keyword_recognizer_h__
3885
3752
 
3886
3753
 
3887
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
3754
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
3888
3755
namespace Puma {
3889
3756
 
3890
3757
 
3891
3758
 
3892
 
#line 3893 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3759
#line 3760 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
3893
3760
} // closed Puma
 
3761
class CCExprResolve;
 
3762
class CExprResolve;
3894
3763
class WinIfExists;
3895
3764
class WinImportHandler;
3896
3765
class WinMacros;
3897
 
class CMatchSyntax;
3898
 
class ExtGnu;
 
3766
class WinAsm;
 
3767
class WinDeclSpecs;
 
3768
class WinMemberExplSpec;
 
3769
class WinTypeKeywords;
 
3770
class WinFriend;
3899
3771
class ExtAC;
3900
3772
class ExtACBuilderCoupling;
3901
3773
class ExtACSyntaxCoupling;
3902
3774
class ExtACTree;
3903
3775
class ExtACKeywords;
3904
 
class WinAsm;
3905
 
class WinDeclSpecs;
3906
 
class WinMemberExplSpec;
3907
 
class WinTypeKeywords;
 
3776
class ExtGnu;
3908
3777
class PragmaOnceUnitState;
3909
3778
class PragmaOnce;
3910
 
class CCExprResolve;
3911
 
class CExprResolve;
 
3779
class CMatchSyntax;
3912
3780
namespace Puma {
3913
3781
 
3914
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
3782
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
3915
3783
class KeywordRecognizer {
3916
 
#line 3917 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3784
#line 3785 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3785
  friend class ::CCExprResolve;
 
3786
  friend class ::CExprResolve;
3917
3787
  friend class ::WinIfExists;
3918
3788
  friend class ::WinImportHandler;
3919
3789
  friend class ::WinMacros;
3920
 
  friend class ::CMatchSyntax;
3921
 
  friend class ::ExtGnu;
 
3790
  friend class ::WinAsm;
 
3791
  friend class ::WinDeclSpecs;
 
3792
  friend class ::WinMemberExplSpec;
 
3793
  friend class ::WinTypeKeywords;
 
3794
  friend class ::WinFriend;
3922
3795
  friend class ::ExtAC;
3923
3796
  friend class ::ExtACBuilderCoupling;
3924
3797
  friend class ::ExtACSyntaxCoupling;
3925
3798
  friend class ::ExtACTree;
3926
3799
  friend class ::ExtACKeywords;
3927
 
  friend class ::WinAsm;
3928
 
  friend class ::WinDeclSpecs;
3929
 
  friend class ::WinMemberExplSpec;
3930
 
  friend class ::WinTypeKeywords;
 
3800
  friend class ::ExtGnu;
3931
3801
  friend class ::PragmaOnceUnitState;
3932
3802
  friend class ::PragmaOnce;
3933
 
  friend class ::CCExprResolve;
3934
 
  friend class ::CExprResolve;
 
3803
  friend class ::CMatchSyntax;
3935
3804
 
3936
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
 
3805
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/KeywordRecognizer.h"
3937
3806
 
3938
3807
protected:
3939
3808
  virtual MappedOrangeRecognizer<CScanBuffer> &recognizer() = 0;
3948
3817
 
3949
3818
#endif /* __keyword_recognizer_h__ */
3950
3819
 
3951
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
3820
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
3952
3821
namespace Puma {
3953
3822
 
3954
3823
 
3955
3824
 
3956
 
#line 3957 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3825
#line 3826 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
3957
3826
} // closed Puma
 
3827
class CCExprResolve;
 
3828
class CExprResolve;
3958
3829
class WinIfExists;
3959
3830
class WinImportHandler;
3960
3831
class WinMacros;
3961
 
class CMatchSyntax;
3962
 
class ExtGnu;
 
3832
class WinAsm;
 
3833
class WinDeclSpecs;
 
3834
class WinMemberExplSpec;
 
3835
class WinTypeKeywords;
 
3836
class WinFriend;
3963
3837
class ExtAC;
3964
3838
class ExtACBuilderCoupling;
3965
3839
class ExtACSyntaxCoupling;
3966
3840
class ExtACTree;
3967
3841
class ExtACKeywords;
3968
 
class WinAsm;
3969
 
class WinDeclSpecs;
3970
 
class WinMemberExplSpec;
3971
 
class WinTypeKeywords;
 
3842
class ExtGnu;
3972
3843
class PragmaOnceUnitState;
3973
3844
class PragmaOnce;
3974
 
class CCExprResolve;
3975
 
class CExprResolve;
 
3845
class CMatchSyntax;
3976
3846
namespace Puma {
3977
3847
 
3978
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
3848
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
3979
3849
class CRecognizer {
3980
 
#line 3981 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3850
#line 3851 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3851
  friend class ::CCExprResolve;
 
3852
  friend class ::CExprResolve;
3981
3853
  friend class ::WinIfExists;
3982
3854
  friend class ::WinImportHandler;
3983
3855
  friend class ::WinMacros;
3984
 
  friend class ::CMatchSyntax;
3985
 
  friend class ::ExtGnu;
 
3856
  friend class ::WinAsm;
 
3857
  friend class ::WinDeclSpecs;
 
3858
  friend class ::WinMemberExplSpec;
 
3859
  friend class ::WinTypeKeywords;
 
3860
  friend class ::WinFriend;
3986
3861
  friend class ::ExtAC;
3987
3862
  friend class ::ExtACBuilderCoupling;
3988
3863
  friend class ::ExtACSyntaxCoupling;
3989
3864
  friend class ::ExtACTree;
3990
3865
  friend class ::ExtACKeywords;
3991
 
  friend class ::WinAsm;
3992
 
  friend class ::WinDeclSpecs;
3993
 
  friend class ::WinMemberExplSpec;
3994
 
  friend class ::WinTypeKeywords;
 
3866
  friend class ::ExtGnu;
3995
3867
  friend class ::PragmaOnceUnitState;
3996
3868
  friend class ::PragmaOnce;
3997
 
  friend class ::CCExprResolve;
3998
 
  friend class ::CExprResolve;
3999
 
 
4000
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
4001
 
 
4002
 
  CScanBuffer scan_buffer;
 
3869
  friend class ::CMatchSyntax;
 
3870
 
 
3871
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CRecognizer.h"
 
3872
 
4003
3873
  CCommentRecognizer comment_recognizer;
4004
3874
  Array<KeywordRecognizer*> additional_keyword_recognizers;
4005
3875
 
4006
3876
public:
 
3877
  CScanBuffer scan_buffer; // TODO: temporarily made public!
 
3878
 
4007
3879
  typedef enum { NORMAL, IN_COMP_DIR, IN_PRE_DIR } Mode;
4008
 
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, STRING, CORE, 
 
3880
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, CORE, 
4009
3881
                 KEYWORD, ID, WILDCARD, UNKNOWN } Lang;
4010
3882
 
4011
 
  CRecognizer () : wildcards (false), aspectc (false), macro_ops (false),
 
3883
  CRecognizer () : directives(true), wildcards (false),
 
3884
    aspectc (false), macro_ops (false),
4012
3885
    std_c (true), std_cplusplus (true) {}
4013
 
  CRecognizer (ScanBuffer& buffer) : wildcards (false), aspectc (false),
4014
 
    macro_ops (false) { setup (buffer); }
 
3886
  void allow_directives (bool flag = true)    { directives = flag; }
4015
3887
  void allow_wildcards (bool flag = true)     { wildcards = flag; }
4016
3888
  void allow_aspectc (bool flag = true)       { aspectc   = flag; } 
4017
3889
  void allow_macro_ops (bool flag = true)     { macro_ops = flag; }
4018
3890
  void allow_std_c (bool flag = true)         { std_c = flag; }
4019
3891
  void allow_std_cplusplus (bool flag = true) { std_cplusplus = flag; }
4020
 
  void setup (ScanBuffer &buffer);
 
3892
  void setup ();
4021
3893
  int recognize (Lang &lang, int &expr, int &len);
4022
 
  Mode mode () { return scan_mode; }
4023
 
  bool new_line () const { return scan_buffer.new_line (); }
 
3894
  Mode mode () const { return scan_mode; }
 
3895
  void mode (Mode mode) { scan_mode = mode; }
4024
3896
  CScanBuffer& buffer () { return scan_buffer; }
4025
3897
  void addRecognizer(KeywordRecognizer &recognizer) 
4026
3898
   { additional_keyword_recognizers.append(&recognizer); }
4027
3899
 
4028
3900
private:
4029
 
  static MappedOrangeRecognizer<CScanBuffer> string_recognizer;   
4030
3901
  static MappedOrangeRecognizer<CScanBuffer> pre_dir_recognizer;
4031
3902
  static MappedOrangeRecognizer<CScanBuffer> pre_token_recognizer;
4032
3903
  static OrangeRecognizer<CScanBuffer> dir_recognizer;
4033
 
  static MappedOrangeRecognizer<CScanBuffer> whitespace_recognizer;
4034
3904
  static MappedOrangeRecognizer<CScanBuffer> wildcard_recognizer;
4035
3905
  static MappedOrangeRecognizer<CScanBuffer> core_recognizer;
4036
3906
  static MappedOrangeRecognizer<CScanBuffer> identifier_recognizer;
4037
3907
 
4038
3908
  Mode scan_mode;
4039
 
  bool check_directive;
 
3909
  bool directives;
4040
3910
  bool wildcards;
4041
3911
  bool aspectc;
4042
3912
  bool macro_ops;
4049
3919
 
4050
3920
#endif /* __c_recognizer_h__ */
4051
3921
 
4052
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
3922
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
4053
3923
// This file is part of PUMA.
4054
3924
// Copyright (C) 1999-2003  The PUMA developer team.
4055
3925
//                                                                
4075
3945
// form tokens, which used to fill a "Unit".
4076
3946
 
4077
3947
 
4078
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
3948
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
4079
3949
// This file is part of PUMA.
4080
3950
// Copyright (C) 1999-2003  The PUMA developer team.
4081
3951
//                                                                
4101
3971
 
4102
3972
 
4103
3973
 
4104
 
#line 4105 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3974
#line 3975 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4105
3975
} // closed Puma
 
3976
class CCExprResolve;
 
3977
class CExprResolve;
4106
3978
class WinIfExists;
4107
3979
class WinImportHandler;
4108
3980
class WinMacros;
4109
 
class CMatchSyntax;
4110
 
class ExtGnu;
 
3981
class WinAsm;
 
3982
class WinDeclSpecs;
 
3983
class WinMemberExplSpec;
 
3984
class WinTypeKeywords;
 
3985
class WinFriend;
4111
3986
class ExtAC;
4112
3987
class ExtACBuilderCoupling;
4113
3988
class ExtACSyntaxCoupling;
4114
3989
class ExtACTree;
4115
3990
class ExtACKeywords;
4116
 
class WinAsm;
4117
 
class WinDeclSpecs;
4118
 
class WinMemberExplSpec;
4119
 
class WinTypeKeywords;
 
3991
class ExtGnu;
4120
3992
class PragmaOnceUnitState;
4121
3993
class PragmaOnce;
4122
 
class CCExprResolve;
4123
 
class CExprResolve;
 
3994
class CMatchSyntax;
4124
3995
namespace Puma {
4125
3996
 
4126
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
3997
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
4127
3998
class Source {
4128
 
#line 4129 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
3999
#line 4000 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4000
  friend class ::CCExprResolve;
 
4001
  friend class ::CExprResolve;
4129
4002
  friend class ::WinIfExists;
4130
4003
  friend class ::WinImportHandler;
4131
4004
  friend class ::WinMacros;
4132
 
  friend class ::CMatchSyntax;
4133
 
  friend class ::ExtGnu;
 
4005
  friend class ::WinAsm;
 
4006
  friend class ::WinDeclSpecs;
 
4007
  friend class ::WinMemberExplSpec;
 
4008
  friend class ::WinTypeKeywords;
 
4009
  friend class ::WinFriend;
4134
4010
  friend class ::ExtAC;
4135
4011
  friend class ::ExtACBuilderCoupling;
4136
4012
  friend class ::ExtACSyntaxCoupling;
4137
4013
  friend class ::ExtACTree;
4138
4014
  friend class ::ExtACKeywords;
4139
 
  friend class ::WinAsm;
4140
 
  friend class ::WinDeclSpecs;
4141
 
  friend class ::WinMemberExplSpec;
4142
 
  friend class ::WinTypeKeywords;
 
4015
  friend class ::ExtGnu;
4143
4016
  friend class ::PragmaOnceUnitState;
4144
4017
  friend class ::PragmaOnce;
4145
 
  friend class ::CCExprResolve;
4146
 
  friend class ::CExprResolve;
 
4018
  friend class ::CMatchSyntax;
4147
4019
 
4148
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Source.h"
 
4020
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Source.h"
4149
4021
 
4150
4022
public:
4151
4023
  Source () {}
4159
4031
 
4160
4032
#endif /* __source_h__ */
4161
4033
 
4162
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
4034
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
4163
4035
namespace Puma {
4164
4036
 
4165
4037
 
4166
4038
 
4167
 
#line 4168 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4039
#line 4040 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4168
4040
} // closed Puma
 
4041
class CCExprResolve;
 
4042
class CExprResolve;
4169
4043
class WinIfExists;
4170
4044
class WinImportHandler;
4171
4045
class WinMacros;
4172
 
class CMatchSyntax;
4173
 
class ExtGnu;
 
4046
class WinAsm;
 
4047
class WinDeclSpecs;
 
4048
class WinMemberExplSpec;
 
4049
class WinTypeKeywords;
 
4050
class WinFriend;
4174
4051
class ExtAC;
4175
4052
class ExtACBuilderCoupling;
4176
4053
class ExtACSyntaxCoupling;
4177
4054
class ExtACTree;
4178
4055
class ExtACKeywords;
4179
 
class WinAsm;
4180
 
class WinDeclSpecs;
4181
 
class WinMemberExplSpec;
4182
 
class WinTypeKeywords;
 
4056
class ExtGnu;
4183
4057
class PragmaOnceUnitState;
4184
4058
class PragmaOnce;
4185
 
class CCExprResolve;
4186
 
class CExprResolve;
 
4059
class CMatchSyntax;
4187
4060
namespace Puma {
4188
4061
 
4189
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
4062
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
4190
4063
class Tokenizer {
4191
 
#line 4192 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4064
#line 4065 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4065
  friend class ::CCExprResolve;
 
4066
  friend class ::CExprResolve;
4192
4067
  friend class ::WinIfExists;
4193
4068
  friend class ::WinImportHandler;
4194
4069
  friend class ::WinMacros;
4195
 
  friend class ::CMatchSyntax;
4196
 
  friend class ::ExtGnu;
 
4070
  friend class ::WinAsm;
 
4071
  friend class ::WinDeclSpecs;
 
4072
  friend class ::WinMemberExplSpec;
 
4073
  friend class ::WinTypeKeywords;
 
4074
  friend class ::WinFriend;
4197
4075
  friend class ::ExtAC;
4198
4076
  friend class ::ExtACBuilderCoupling;
4199
4077
  friend class ::ExtACSyntaxCoupling;
4200
4078
  friend class ::ExtACTree;
4201
4079
  friend class ::ExtACKeywords;
4202
 
  friend class ::WinAsm;
4203
 
  friend class ::WinDeclSpecs;
4204
 
  friend class ::WinMemberExplSpec;
4205
 
  friend class ::WinTypeKeywords;
 
4080
  friend class ::ExtGnu;
4206
4081
  friend class ::PragmaOnceUnitState;
4207
4082
  friend class ::PragmaOnce;
4208
 
  friend class ::CCExprResolve;
4209
 
  friend class ::CExprResolve;
 
4083
  friend class ::CMatchSyntax;
4210
4084
 
4211
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
 
4085
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Tokenizer.h"
4212
4086
 
4213
4087
public:
4214
4088
  virtual ~Tokenizer () {}
4220
4094
 
4221
4095
#endif /* __Tokenizer_h__ */
4222
4096
 
4223
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
4097
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
4224
4098
// This file is part of PUMA.
4225
4099
// Copyright (C) 1999-2003  The PUMA developer team.
4226
4100
//                                                                
4255
4129
// messages or collect them for a later processing.
4256
4130
 
4257
4131
 
4258
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
4132
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
4259
4133
// This file is part of PUMA.
4260
4134
// Copyright (C) 1999-2003  The PUMA developer team.
4261
4135
//                                                                
4283
4157
 
4284
4158
 
4285
4159
 
4286
 
#line 4287 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4160
#line 4161 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4287
4161
} // closed Puma
 
4162
class CCExprResolve;
 
4163
class CExprResolve;
4288
4164
class WinIfExists;
4289
4165
class WinImportHandler;
4290
4166
class WinMacros;
4291
 
class CMatchSyntax;
4292
 
class ExtGnu;
 
4167
class WinAsm;
 
4168
class WinDeclSpecs;
 
4169
class WinMemberExplSpec;
 
4170
class WinTypeKeywords;
 
4171
class WinFriend;
4293
4172
class ExtAC;
4294
4173
class ExtACBuilderCoupling;
4295
4174
class ExtACSyntaxCoupling;
4296
4175
class ExtACTree;
4297
4176
class ExtACKeywords;
4298
 
class WinAsm;
4299
 
class WinDeclSpecs;
4300
 
class WinMemberExplSpec;
4301
 
class WinTypeKeywords;
 
4177
class ExtGnu;
4302
4178
class PragmaOnceUnitState;
4303
4179
class PragmaOnce;
4304
 
class CCExprResolve;
4305
 
class CExprResolve;
 
4180
class CMatchSyntax;
4306
4181
namespace Puma {
4307
4182
 
4308
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
4183
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
4309
4184
class ErrorSeverity {
4310
 
#line 4311 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4185
#line 4186 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4186
  friend class ::CCExprResolve;
 
4187
  friend class ::CExprResolve;
4311
4188
  friend class ::WinIfExists;
4312
4189
  friend class ::WinImportHandler;
4313
4190
  friend class ::WinMacros;
4314
 
  friend class ::CMatchSyntax;
4315
 
  friend class ::ExtGnu;
 
4191
  friend class ::WinAsm;
 
4192
  friend class ::WinDeclSpecs;
 
4193
  friend class ::WinMemberExplSpec;
 
4194
  friend class ::WinTypeKeywords;
 
4195
  friend class ::WinFriend;
4316
4196
  friend class ::ExtAC;
4317
4197
  friend class ::ExtACBuilderCoupling;
4318
4198
  friend class ::ExtACSyntaxCoupling;
4319
4199
  friend class ::ExtACTree;
4320
4200
  friend class ::ExtACKeywords;
4321
 
  friend class ::WinAsm;
4322
 
  friend class ::WinDeclSpecs;
4323
 
  friend class ::WinMemberExplSpec;
4324
 
  friend class ::WinTypeKeywords;
 
4201
  friend class ::ExtGnu;
4325
4202
  friend class ::PragmaOnceUnitState;
4326
4203
  friend class ::PragmaOnce;
4327
 
  friend class ::CCExprResolve;
4328
 
  friend class ::CExprResolve;
 
4204
  friend class ::CMatchSyntax;
4329
4205
 
4330
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
 
4206
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSeverity.h"
4331
4207
 
4332
4208
  unsigned short _severity;
4333
4209
  const char *_text;
4367
4243
 
4368
4244
#endif /* __error_severity_h__ */
4369
4245
 
4370
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
4246
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
4371
4247
namespace Puma {
4372
4248
 
4373
4249
 
4374
4250
 
4375
 
#line 4376 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4251
#line 4252 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4376
4252
} // closed Puma
 
4253
class CCExprResolve;
 
4254
class CExprResolve;
4377
4255
class WinIfExists;
4378
4256
class WinImportHandler;
4379
4257
class WinMacros;
4380
 
class CMatchSyntax;
4381
 
class ExtGnu;
 
4258
class WinAsm;
 
4259
class WinDeclSpecs;
 
4260
class WinMemberExplSpec;
 
4261
class WinTypeKeywords;
 
4262
class WinFriend;
4382
4263
class ExtAC;
4383
4264
class ExtACBuilderCoupling;
4384
4265
class ExtACSyntaxCoupling;
4385
4266
class ExtACTree;
4386
4267
class ExtACKeywords;
4387
 
class WinAsm;
4388
 
class WinDeclSpecs;
4389
 
class WinMemberExplSpec;
4390
 
class WinTypeKeywords;
 
4268
class ExtGnu;
4391
4269
class PragmaOnceUnitState;
4392
4270
class PragmaOnce;
4393
 
class CCExprResolve;
4394
 
class CExprResolve;
 
4271
class CMatchSyntax;
4395
4272
namespace Puma {
4396
4273
 
4397
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
4274
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
4398
4275
class ErrorSink {
4399
 
#line 4400 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4276
#line 4277 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4277
  friend class ::CCExprResolve;
 
4278
  friend class ::CExprResolve;
4400
4279
  friend class ::WinIfExists;
4401
4280
  friend class ::WinImportHandler;
4402
4281
  friend class ::WinMacros;
4403
 
  friend class ::CMatchSyntax;
4404
 
  friend class ::ExtGnu;
 
4282
  friend class ::WinAsm;
 
4283
  friend class ::WinDeclSpecs;
 
4284
  friend class ::WinMemberExplSpec;
 
4285
  friend class ::WinTypeKeywords;
 
4286
  friend class ::WinFriend;
4405
4287
  friend class ::ExtAC;
4406
4288
  friend class ::ExtACBuilderCoupling;
4407
4289
  friend class ::ExtACSyntaxCoupling;
4408
4290
  friend class ::ExtACTree;
4409
4291
  friend class ::ExtACKeywords;
4410
 
  friend class ::WinAsm;
4411
 
  friend class ::WinDeclSpecs;
4412
 
  friend class ::WinMemberExplSpec;
4413
 
  friend class ::WinTypeKeywords;
 
4292
  friend class ::ExtGnu;
4414
4293
  friend class ::PragmaOnceUnitState;
4415
4294
  friend class ::PragmaOnce;
4416
 
  friend class ::CCExprResolve;
4417
 
  friend class ::CExprResolve;
 
4295
  friend class ::CMatchSyntax;
4418
4296
 
4419
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
 
4297
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorSink.h"
4420
4298
 
4421
4299
public:
4422
4300
  virtual ~ErrorSink () {}
4441
4319
 
4442
4320
#endif /* __error_sink_h__ */
4443
4321
 
4444
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
4322
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
4445
4323
// This file is part of PUMA.
4446
4324
// Copyright (C) 1999-2003  The PUMA developer team.
4447
4325
//                                                                
4467
4345
// information from file or command line.
4468
4346
 
4469
4347
 
4470
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
4348
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
4471
4349
// This file is part of PUMA.
4472
4350
// Copyright (C) 1999-2003  The PUMA developer team.
4473
4351
//                                                                
4493
4371
 
4494
4372
 
4495
4373
 
4496
 
#line 4497 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4374
#line 4375 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4497
4375
} // closed Puma
 
4376
class CCExprResolve;
 
4377
class CExprResolve;
4498
4378
class WinIfExists;
4499
4379
class WinImportHandler;
4500
4380
class WinMacros;
4501
 
class CMatchSyntax;
4502
 
class ExtGnu;
 
4381
class WinAsm;
 
4382
class WinDeclSpecs;
 
4383
class WinMemberExplSpec;
 
4384
class WinTypeKeywords;
 
4385
class WinFriend;
4503
4386
class ExtAC;
4504
4387
class ExtACBuilderCoupling;
4505
4388
class ExtACSyntaxCoupling;
4506
4389
class ExtACTree;
4507
4390
class ExtACKeywords;
4508
 
class WinAsm;
4509
 
class WinDeclSpecs;
4510
 
class WinMemberExplSpec;
4511
 
class WinTypeKeywords;
 
4391
class ExtGnu;
4512
4392
class PragmaOnceUnitState;
4513
4393
class PragmaOnce;
4514
 
class CCExprResolve;
4515
 
class CExprResolve;
 
4394
class CMatchSyntax;
4516
4395
namespace Puma {
4517
4396
 
4518
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
4397
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
4519
4398
class Flags {
4520
 
#line 4521 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4399
#line 4400 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4400
  friend class ::CCExprResolve;
 
4401
  friend class ::CExprResolve;
4521
4402
  friend class ::WinIfExists;
4522
4403
  friend class ::WinImportHandler;
4523
4404
  friend class ::WinMacros;
4524
 
  friend class ::CMatchSyntax;
4525
 
  friend class ::ExtGnu;
 
4405
  friend class ::WinAsm;
 
4406
  friend class ::WinDeclSpecs;
 
4407
  friend class ::WinMemberExplSpec;
 
4408
  friend class ::WinTypeKeywords;
 
4409
  friend class ::WinFriend;
4526
4410
  friend class ::ExtAC;
4527
4411
  friend class ::ExtACBuilderCoupling;
4528
4412
  friend class ::ExtACSyntaxCoupling;
4529
4413
  friend class ::ExtACTree;
4530
4414
  friend class ::ExtACKeywords;
4531
 
  friend class ::WinAsm;
4532
 
  friend class ::WinDeclSpecs;
4533
 
  friend class ::WinMemberExplSpec;
4534
 
  friend class ::WinTypeKeywords;
 
4415
  friend class ::ExtGnu;
4535
4416
  friend class ::PragmaOnceUnitState;
4536
4417
  friend class ::PragmaOnce;
4537
 
  friend class ::CCExprResolve;
4538
 
  friend class ::CExprResolve;
 
4418
  friend class ::CMatchSyntax;
4539
4419
 
4540
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Flags.h"
 
4420
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Flags.h"
4541
4421
 
4542
4422
public:
4543
4423
  enum Flag {
4601
4481
 
4602
4482
#endif /* __Flags_h__ */
4603
4483
 
4604
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4484
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
4605
4485
// This file is part of PUMA.
4606
4486
// Copyright (C) 1999-2003  The PUMA developer team.
4607
4487
//                                                                
4624
4504
#define __ConfOption_h__
4625
4505
 
4626
4506
 
4627
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4507
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
4628
4508
#include <stdlib.h>
4629
4509
 
4630
4510
namespace Puma {
4631
4511
 
4632
4512
 
4633
4513
 
4634
 
#line 4635 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4514
#line 4515 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4635
4515
} // closed Puma
 
4516
class CCExprResolve;
 
4517
class CExprResolve;
4636
4518
class WinIfExists;
4637
4519
class WinImportHandler;
4638
4520
class WinMacros;
4639
 
class CMatchSyntax;
4640
 
class ExtGnu;
 
4521
class WinAsm;
 
4522
class WinDeclSpecs;
 
4523
class WinMemberExplSpec;
 
4524
class WinTypeKeywords;
 
4525
class WinFriend;
4641
4526
class ExtAC;
4642
4527
class ExtACBuilderCoupling;
4643
4528
class ExtACSyntaxCoupling;
4644
4529
class ExtACTree;
4645
4530
class ExtACKeywords;
4646
 
class WinAsm;
4647
 
class WinDeclSpecs;
4648
 
class WinMemberExplSpec;
4649
 
class WinTypeKeywords;
 
4531
class ExtGnu;
4650
4532
class PragmaOnceUnitState;
4651
4533
class PragmaOnce;
4652
 
class CCExprResolve;
4653
 
class CExprResolve;
 
4534
class CMatchSyntax;
4654
4535
namespace Puma {
4655
4536
 
4656
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4537
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
4657
4538
class ConfOption {
4658
 
#line 4659 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4539
#line 4540 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4540
  friend class ::CCExprResolve;
 
4541
  friend class ::CExprResolve;
4659
4542
  friend class ::WinIfExists;
4660
4543
  friend class ::WinImportHandler;
4661
4544
  friend class ::WinMacros;
4662
 
  friend class ::CMatchSyntax;
4663
 
  friend class ::ExtGnu;
 
4545
  friend class ::WinAsm;
 
4546
  friend class ::WinDeclSpecs;
 
4547
  friend class ::WinMemberExplSpec;
 
4548
  friend class ::WinTypeKeywords;
 
4549
  friend class ::WinFriend;
4664
4550
  friend class ::ExtAC;
4665
4551
  friend class ::ExtACBuilderCoupling;
4666
4552
  friend class ::ExtACSyntaxCoupling;
4667
4553
  friend class ::ExtACTree;
4668
4554
  friend class ::ExtACKeywords;
4669
 
  friend class ::WinAsm;
4670
 
  friend class ::WinDeclSpecs;
4671
 
  friend class ::WinMemberExplSpec;
4672
 
  friend class ::WinTypeKeywords;
 
4555
  friend class ::ExtGnu;
4673
4556
  friend class ::PragmaOnceUnitState;
4674
4557
  friend class ::PragmaOnce;
4675
 
  friend class ::CCExprResolve;
4676
 
  friend class ::CExprResolve;
 
4558
  friend class ::CMatchSyntax;
4677
4559
 
4678
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ConfOption.h"
 
4560
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ConfOption.h"
4679
4561
 
4680
4562
  const char *_name;
4681
4563
  Array<const char *> _args;
4721
4603
 
4722
4604
#endif /* __ConfOption_h__ */
4723
4605
 
4724
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4606
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4725
4607
// This file is part of PUMA.
4726
4608
// Copyright (C) 1999-2003  The PUMA developer team.
4727
4609
//                                                                
4749
4631
 
4750
4632
#include <sstream>
4751
4633
 
4752
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4634
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4753
4635
using namespace std;
4754
4636
 
4755
4637
namespace Puma {
4756
4638
 
4757
4639
 
4758
4640
 
4759
 
#line 4760 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4641
#line 4642 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4760
4642
} // closed Puma
 
4643
class CCExprResolve;
 
4644
class CExprResolve;
4761
4645
class WinIfExists;
4762
4646
class WinImportHandler;
4763
4647
class WinMacros;
4764
 
class CMatchSyntax;
4765
 
class ExtGnu;
 
4648
class WinAsm;
 
4649
class WinDeclSpecs;
 
4650
class WinMemberExplSpec;
 
4651
class WinTypeKeywords;
 
4652
class WinFriend;
4766
4653
class ExtAC;
4767
4654
class ExtACBuilderCoupling;
4768
4655
class ExtACSyntaxCoupling;
4769
4656
class ExtACTree;
4770
4657
class ExtACKeywords;
4771
 
class WinAsm;
4772
 
class WinDeclSpecs;
4773
 
class WinMemberExplSpec;
4774
 
class WinTypeKeywords;
 
4658
class ExtGnu;
4775
4659
class PragmaOnceUnitState;
4776
4660
class PragmaOnce;
4777
 
class CCExprResolve;
4778
 
class CExprResolve;
 
4661
class CMatchSyntax;
4779
4662
namespace Puma {
4780
4663
 
4781
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4664
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4782
4665
class ErrorStream : public ErrorSink {
4783
 
#line 4784 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4666
#line 4667 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4667
  friend class ::CCExprResolve;
 
4668
  friend class ::CExprResolve;
4784
4669
  friend class ::WinIfExists;
4785
4670
  friend class ::WinImportHandler;
4786
4671
  friend class ::WinMacros;
4787
 
  friend class ::CMatchSyntax;
4788
 
  friend class ::ExtGnu;
 
4672
  friend class ::WinAsm;
 
4673
  friend class ::WinDeclSpecs;
 
4674
  friend class ::WinMemberExplSpec;
 
4675
  friend class ::WinTypeKeywords;
 
4676
  friend class ::WinFriend;
4789
4677
  friend class ::ExtAC;
4790
4678
  friend class ::ExtACBuilderCoupling;
4791
4679
  friend class ::ExtACSyntaxCoupling;
4792
4680
  friend class ::ExtACTree;
4793
4681
  friend class ::ExtACKeywords;
4794
 
  friend class ::WinAsm;
4795
 
  friend class ::WinDeclSpecs;
4796
 
  friend class ::WinMemberExplSpec;
4797
 
  friend class ::WinTypeKeywords;
 
4682
  friend class ::ExtGnu;
4798
4683
  friend class ::PragmaOnceUnitState;
4799
4684
  friend class ::PragmaOnce;
4800
 
  friend class ::CCExprResolve;
4801
 
  friend class ::CExprResolve;
 
4685
  friend class ::CMatchSyntax;
4802
4686
 
4803
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
 
4687
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ErrorStream.h"
4804
4688
 
4805
4689
  ostream *_ostream;
4806
4690
  ErrorSeverity _max_severity;
4843
4727
 
4844
4728
#endif /* __error_stream_h__ */
4845
4729
 
4846
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4730
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4847
4731
// This file is part of PUMA.
4848
4732
// Copyright (C) 1999-2003  The PUMA developer team.
4849
4733
//                                                                
4866
4750
#define __OptsParser_h__
4867
4751
 
4868
4752
 
4869
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4753
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4870
4754
// This file is part of PUMA.
4871
4755
// Copyright (C) 1999-2003  The PUMA developer team.
4872
4756
//                                                                
4889
4773
#define __SimpleParser_h__
4890
4774
 
4891
4775
 
4892
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4776
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4893
4777
#include <vector>
4894
4778
using namespace std;
4895
4779
 
4896
4780
namespace Puma {
4897
4781
 
4898
4782
 
 
4783
/** 
 
4784
 * Simple string parser. 
 
4785
 * \class SimpleParser SimpleParser.h Puma/common/SimpleParser.h
 
4786
 */
4899
4787
 
4900
 
#line 4901 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4788
#line 4789 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4901
4789
} // closed Puma
 
4790
class CCExprResolve;
 
4791
class CExprResolve;
4902
4792
class WinIfExists;
4903
4793
class WinImportHandler;
4904
4794
class WinMacros;
4905
 
class CMatchSyntax;
4906
 
class ExtGnu;
 
4795
class WinAsm;
 
4796
class WinDeclSpecs;
 
4797
class WinMemberExplSpec;
 
4798
class WinTypeKeywords;
 
4799
class WinFriend;
4907
4800
class ExtAC;
4908
4801
class ExtACBuilderCoupling;
4909
4802
class ExtACSyntaxCoupling;
4910
4803
class ExtACTree;
4911
4804
class ExtACKeywords;
4912
 
class WinAsm;
4913
 
class WinDeclSpecs;
4914
 
class WinMemberExplSpec;
4915
 
class WinTypeKeywords;
 
4805
class ExtGnu;
4916
4806
class PragmaOnceUnitState;
4917
4807
class PragmaOnce;
4918
 
class CCExprResolve;
4919
 
class CExprResolve;
 
4808
class CMatchSyntax;
4920
4809
namespace Puma {
4921
4810
 
4922
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4811
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4923
4812
class SimpleParser {
4924
 
#line 4925 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4813
#line 4814 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4814
  friend class ::CCExprResolve;
 
4815
  friend class ::CExprResolve;
4925
4816
  friend class ::WinIfExists;
4926
4817
  friend class ::WinImportHandler;
4927
4818
  friend class ::WinMacros;
4928
 
  friend class ::CMatchSyntax;
4929
 
  friend class ::ExtGnu;
 
4819
  friend class ::WinAsm;
 
4820
  friend class ::WinDeclSpecs;
 
4821
  friend class ::WinMemberExplSpec;
 
4822
  friend class ::WinTypeKeywords;
 
4823
  friend class ::WinFriend;
4930
4824
  friend class ::ExtAC;
4931
4825
  friend class ::ExtACBuilderCoupling;
4932
4826
  friend class ::ExtACSyntaxCoupling;
4933
4827
  friend class ::ExtACTree;
4934
4828
  friend class ::ExtACKeywords;
4935
 
  friend class ::WinAsm;
4936
 
  friend class ::WinDeclSpecs;
4937
 
  friend class ::WinMemberExplSpec;
4938
 
  friend class ::WinTypeKeywords;
 
4829
  friend class ::ExtGnu;
4939
4830
  friend class ::PragmaOnceUnitState;
4940
4831
  friend class ::PragmaOnce;
4941
 
  friend class ::CCExprResolve;
4942
 
  friend class ::CExprResolve;
 
4832
  friend class ::CMatchSyntax;
4943
4833
 
4944
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
 
4834
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SimpleParser.h"
4945
4835
 
4946
4836
public:
4947
 
  SimpleParser() {}
4948
 
  ~SimpleParser() {}
4949
 
   
4950
 
  static int tokenize (const string &, vector<string> &, 
4951
 
                       const string &delimiters = " ");
4952
 
  static string strip (const string &);
 
4837
  /**
 
4838
   * Remove enclosing double-quotes from a string.
 
4839
   * \param str The string to strip.
 
4840
   * \return String without the enclosing double-quotes.
 
4841
   */
 
4842
  static string strip (const string& str);
 
4843
  /**
 
4844
   * Splits a given string into tokens recognized by the given delimiters.
 
4845
   * \param str The string to split.
 
4846
   * \param tokens A vector for the tokens.
 
4847
   * \param delimiters A string with the delimiters. Default is a space or tab.
 
4848
   * \return Number of recognized tokens.
 
4849
   */
 
4850
  static int tokenize (const string& str, vector<string>& tokens, const string& delimiters = " ");
 
4851
 
 
4852
private:
 
4853
  /**
 
4854
   * Get the position of the next token.
 
4855
   * \param line The string to tokenize.
 
4856
   * \param delimiters A string with the token delimiters.
 
4857
   * \param pos The current position in the string.
 
4858
   * \param lastPos The last position in the string.
 
4859
   * \return The position of the next token.
 
4860
   */
 
4861
  static string::size_type next (const string& line, const string& delimiters, string::size_type pos, string::size_type& lastPos);
 
4862
  /**
 
4863
   * Get the begin of the next token.
 
4864
   * \param line The string to tokenize.
 
4865
   * \param delimiters A string with the token delimiters.
 
4866
   * \param pos The current position in the string.
 
4867
   * \return The begin of the next token.
 
4868
   */
 
4869
  static string::size_type findBeginOfNextToken (const string& line, const string& delimiters, string::size_type pos);
 
4870
  /**
 
4871
   * Get the end of the next token.
 
4872
   * \param line The string to tokenize.
 
4873
   * \param delimiters A string with the token delimiters.
 
4874
   * \param lastPos The last position in the string, i.e. the begin of the next token.
 
4875
   * \return The end of the next token.
 
4876
   */
 
4877
  static string::size_type findEndOfNextToken (const string& line, const string& delimiters, string::size_type lastPos);
4953
4878
};
4954
4879
 
4955
4880
 
4957
4882
 
4958
4883
#endif /* __SimpleParser_h__ */
4959
4884
 
4960
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4885
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4961
4886
using namespace std;
4962
4887
 
4963
4888
namespace Puma {
4964
4889
 
4965
4890
 
 
4891
/** \brief The %Options %Parser searches command line parameters for options and
 
4892
 *  handles their option arguments, if applicable.
 
4893
 */
4966
4894
 
4967
 
#line 4968 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4895
#line 4896 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
4968
4896
} // closed Puma
 
4897
class CCExprResolve;
 
4898
class CExprResolve;
4969
4899
class WinIfExists;
4970
4900
class WinImportHandler;
4971
4901
class WinMacros;
4972
 
class CMatchSyntax;
4973
 
class ExtGnu;
 
4902
class WinAsm;
 
4903
class WinDeclSpecs;
 
4904
class WinMemberExplSpec;
 
4905
class WinTypeKeywords;
 
4906
class WinFriend;
4974
4907
class ExtAC;
4975
4908
class ExtACBuilderCoupling;
4976
4909
class ExtACSyntaxCoupling;
4977
4910
class ExtACTree;
4978
4911
class ExtACKeywords;
4979
 
class WinAsm;
4980
 
class WinDeclSpecs;
4981
 
class WinMemberExplSpec;
4982
 
class WinTypeKeywords;
 
4912
class ExtGnu;
4983
4913
class PragmaOnceUnitState;
4984
4914
class PragmaOnce;
4985
 
class CCExprResolve;
4986
 
class CExprResolve;
 
4915
class CMatchSyntax;
4987
4916
namespace Puma {
4988
4917
 
4989
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4918
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4990
4919
class OptsParser : public SimpleParser {
4991
 
#line 4992 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4920
#line 4921 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
4921
  friend class ::CCExprResolve;
 
4922
  friend class ::CExprResolve;
4992
4923
  friend class ::WinIfExists;
4993
4924
  friend class ::WinImportHandler;
4994
4925
  friend class ::WinMacros;
4995
 
  friend class ::CMatchSyntax;
4996
 
  friend class ::ExtGnu;
 
4926
  friend class ::WinAsm;
 
4927
  friend class ::WinDeclSpecs;
 
4928
  friend class ::WinMemberExplSpec;
 
4929
  friend class ::WinTypeKeywords;
 
4930
  friend class ::WinFriend;
4997
4931
  friend class ::ExtAC;
4998
4932
  friend class ::ExtACBuilderCoupling;
4999
4933
  friend class ::ExtACSyntaxCoupling;
5000
4934
  friend class ::ExtACTree;
5001
4935
  friend class ::ExtACKeywords;
5002
 
  friend class ::WinAsm;
5003
 
  friend class ::WinDeclSpecs;
5004
 
  friend class ::WinMemberExplSpec;
5005
 
  friend class ::WinTypeKeywords;
 
4936
  friend class ::ExtGnu;
5006
4937
  friend class ::PragmaOnceUnitState;
5007
4938
  friend class ::PragmaOnce;
5008
 
  friend class ::CCExprResolve;
5009
 
  friend class ::CExprResolve;
5010
 
 
5011
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
5012
 
 
 
4939
  friend class ::CMatchSyntax;
 
4940
 
 
4941
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
4942
 
 
4943
  
 
4944
  
 
4945
  /** \brief Vector holding the commandline parameters. 
 
4946
   *  
 
4947
   *  This vector is filled in the constructor
 
4948
   */
5013
4949
  vector<string> m_argv;
 
4950
 
 
4951
  /** \brief Position of current parameter analyzed by the 
 
4952
   *  options parser.
 
4953
   */
5014
4954
  unsigned int m_curarg;
 
4955
  
 
4956
  /** \brief The increment added to m_curarg used to get to the next 
 
4957
   *  entry of m_argv which shall be analysed.
 
4958
   */
5015
4959
  unsigned int m_tonext;
 
4960
  
 
4961
  /** \brief %Option number of currently processed element of m_argv
 
4962
   */
5016
4963
  int m_number;
 
4964
  
 
4965
  /** \brief Name of current option
 
4966
   */
 
4967
  string m_opt;
5017
4968
 
 
4969
  /** \brief Value of current option argument
 
4970
   */
5018
4971
  string m_arg;
5019
 
  string m_opt;
 
4972
  
5020
4973
   
5021
4974
public:
5022
4975
  
5023
 
  enum {NOARG =-4, ERR = -3, NOOPTION = -2, UNKNOWN = -1, FINISH = 0 };
5024
 
  
5025
 
  enum ArgType { AT_NONE = 0, AT_MANDATORY = 1, AT_OPTIONAL = 2 };
5026
 
  
 
4976
  /** \enum
 
4977
   *  Return codes for OptsParser::getOption() and OptsParser::getArgument()
 
4978
   */
 
4979
  enum {
 
4980
     NOARG =-4, /**< %Option has no argument */
 
4981
     ERR = -3, /**< Error when parsing option */
 
4982
     NOOPTION = -2, /**< Command line parameter is not an option */
 
4983
     UNKNOWN = -1, /**< Parameter is an unknown option */
 
4984
     FINISH = 0 /**< All options are handled */
 
4985
  };
 
4986
  
 
4987
  /** \enum
 
4988
   *  Type of argument associated to an option  
 
4989
   */
 
4990
  enum ArgType { 
 
4991
     AT_NONE = 0, /**< %Option receives no argument */
 
4992
     AT_MANDATORY = 1, /**< %Option requires an argument */
 
4993
     AT_OPTIONAL = 2 /**< %Option has optionally an argument */
 
4994
  };
 
4995
  
 
4996
  /** \struct
 
4997
   *  Type for specifying an array of options recognized by the %Option %Parser.
 
4998
   *  An array of this type has to be passed to the constructor OptsParser::OptsParser()
 
4999
   */
5027
5000
  struct Option {
5028
 
#line 5029 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5001
#line 5002 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5002
  friend class ::CCExprResolve;
 
5003
  friend class ::CExprResolve;
5029
5004
  friend class ::WinIfExists;
5030
5005
  friend class ::WinImportHandler;
5031
5006
  friend class ::WinMacros;
5032
 
  friend class ::CMatchSyntax;
5033
 
  friend class ::ExtGnu;
 
5007
  friend class ::WinAsm;
 
5008
  friend class ::WinDeclSpecs;
 
5009
  friend class ::WinMemberExplSpec;
 
5010
  friend class ::WinTypeKeywords;
 
5011
  friend class ::WinFriend;
5034
5012
  friend class ::ExtAC;
5035
5013
  friend class ::ExtACBuilderCoupling;
5036
5014
  friend class ::ExtACSyntaxCoupling;
5037
5015
  friend class ::ExtACTree;
5038
5016
  friend class ::ExtACKeywords;
5039
 
  friend class ::WinAsm;
5040
 
  friend class ::WinDeclSpecs;
5041
 
  friend class ::WinMemberExplSpec;
5042
 
  friend class ::WinTypeKeywords;
 
5017
  friend class ::ExtGnu;
5043
5018
  friend class ::PragmaOnceUnitState;
5044
5019
  friend class ::PragmaOnce;
5045
 
  friend class ::CCExprResolve;
5046
 
  friend class ::CExprResolve;
5047
 
 
5048
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
5049
 
 
5050
 
    int number;
5051
 
    char key; 
5052
 
    const char *name;
5053
 
    const char *desc;
5054
 
    ArgType args;
 
5020
  friend class ::CMatchSyntax;
 
5021
 
 
5022
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
 
5023
 
 
5024
    int number; /**< Number associated with this option */
 
5025
    const char *shortName; /**< Short name of this option. Should ideally not contain more than one character */
 
5026
    const char *longName; /**< Long namen of this option */
 
5027
    const char *desc; /**< Description of this option **/ 
 
5028
    ArgType argType; /**< Type of argument for this option */
5055
5029
  };
5056
5030
 
5057
5031
private:
 
5032
  /** Pointer to array of available options. This value is set to the value of the 
 
5033
   * parameter passed to the constructor OptsParser::OptsParser()
 
5034
   */
5058
5035
  const Option *m_opts;
5059
5036
   
5060
5037
public:
5061
 
  OptsParser (int, char **, const Option *);
5062
 
  OptsParser (const string &, const Option *);
 
5038
  /** \brief Constructor of OptsParser
 
5039
   *  
 
5040
   *  \param argc Number of parameters to be analyzed
 
5041
   *  \param argv Parameters to be analyzed
 
5042
   *  \param opts Pointer to array of options which shall be
 
5043
   *              recognized by the options parser
 
5044
   *
 
5045
   */
 
5046
  OptsParser (int argc, char **argv, const Option *opts);
 
5047
  
 
5048
  /** \brief Constructor of OptsParser
 
5049
   *  
 
5050
   *  \param line Reference to string with parameters to analyse
 
5051
   *              The paramaters are extracted from the string by splitting it up 
 
5052
   *              into tokens at:
 
5053
   *               - space character
 
5054
   *               - tabs 
 
5055
   *               - newline
 
5056
   *               - carriage return
 
5057
   *  \param opts Pointer to array of options which shall be 
 
5058
   *              recognized by the options parser
 
5059
   */
 
5060
  OptsParser (const string &line, const Option *);
5063
5061
 
5064
 
  int getCurrentArgNum () const;
5065
 
  int getNextArgNum () const;
 
5062
  
 
5063
  /** Get next parameter without modification. 
 
5064
   * No option parsing is done
 
5065
   *
 
5066
   * \return OptsParser::NOOPTION or OptsParser::FINISH 
 
5067
   */
 
5068
  int getRawOption ();
 
5069
  
 
5070
  /** \brief Get next option
 
5071
   *
 
5072
   * This function processes the next parameter passed to the constructor 
 
5073
   * OptsParser::OptsParser(). 
 
5074
   * That is, search for options and eventually process
 
5075
   * option and option arguement. 
 
5076
   *
 
5077
   * \return Number of option recognized by the options parser or
 
5078
   *         OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
 
5079
   *         OptsParser::UNKNOWN or OptsParser::FINISH.
 
5080
   *
 
5081
   */
5066
5082
  int getOption ();
 
5083
  
 
5084
  /** \brief Get result of last processed parameter
 
5085
   *
 
5086
   *  The number returned by this function is identical to the number 
 
5087
   *  returned by the last call of OptsParser::getOption
 
5088
   *   
 
5089
   * \return Number of option recognized by the options parser or
 
5090
   *         OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
 
5091
   *         OptsParser::UNKNOWN or OptsParser::FINISH.
 
5092
   *
 
5093
   */
5067
5094
  int getResult () const;
5068
5095
  
 
5096
  /** \brief Get option argument of last processed parameter
 
5097
   *
 
5098
   *  This function returns the argument of the option processed during 
 
5099
   *  OptsParser::getOption. If the option does not provide any argument
 
5100
   *  the string will be empty.
 
5101
   *
 
5102
   *  If OptsParser::getOption or respectively OptsParser::getResult returns with 
 
5103
   *  OptsParser::NOOPTION this function (OptsParser::getArgument) returns the last processed parameter, 
 
5104
   *  which is no option, of course.
 
5105
   *
 
5106
   *  \return Argument of last processed parameter
 
5107
   */
5069
5108
  const string &getArgument () const;
 
5109
  
 
5110
  /** \brief Get option name of last processed parameter
 
5111
   *
 
5112
   *  If the last processed parameter did not contain an option the string 
 
5113
   *  returned by this function is empty.
 
5114
   *
 
5115
   *  \return Name of last processed parameter
 
5116
   *
 
5117
   */
5070
5118
  const string &getOptionName () const;
 
5119
  
 
5120
  /** \brief Get position of current argument
 
5121
   *
 
5122
   *  \return Position of currently processed parameter previously passed to OptsParser::OptsParser()
 
5123
   *
 
5124
   */
 
5125
  int getCurrentArgNum () const;
 
5126
  
 
5127
  /** \brief Get position of next argument
 
5128
   *
 
5129
   *  \return Position of next parameter which will be processed by the %Options %Parser
 
5130
   *
 
5131
   */
 
5132
  int getNextArgNum () const;
5071
5133
 
5072
 
  bool revokeArgument();
5073
 
   
5074
5134
private:
5075
 
  int  getShortOption (const string &);
5076
 
  int  getLongOption  (const string &);
5077
 
  bool processOption  (const string &, unsigned int,ArgType argtype);
 
5135
  /** Search for an option in m_argv at position m_curarg
 
5136
   *
 
5137
   *  \param arg Currently processed parameter 
 
5138
   */
 
5139
  const Option*  findOption(const string &arg, bool isLong);
 
5140
  
 
5141
  /** Process an option found by OptsParser::findOption(). 
 
5142
   */
 
5143
  bool processOption  (const string &arg, const Option* curOpt, bool isLong);
5078
5144
};
5079
5145
 
5080
5146
 
5082
5148
 
5083
5149
#endif /* __OptsParser_h__ */
5084
5150
 
5085
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
5151
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
5086
5152
using namespace std;
5087
5153
 
5088
5154
namespace Puma {
5089
5155
 
5090
5156
 
5091
5157
 
5092
 
#line 5093 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5158
#line 5159 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
5093
5159
} // closed Puma
 
5160
class CCExprResolve;
 
5161
class CExprResolve;
5094
5162
class WinIfExists;
5095
5163
class WinImportHandler;
5096
5164
class WinMacros;
5097
 
class CMatchSyntax;
5098
 
class ExtGnu;
 
5165
class WinAsm;
 
5166
class WinDeclSpecs;
 
5167
class WinMemberExplSpec;
 
5168
class WinTypeKeywords;
 
5169
class WinFriend;
5099
5170
class ExtAC;
5100
5171
class ExtACBuilderCoupling;
5101
5172
class ExtACSyntaxCoupling;
5102
5173
class ExtACTree;
5103
5174
class ExtACKeywords;
5104
 
class WinAsm;
5105
 
class WinDeclSpecs;
5106
 
class WinMemberExplSpec;
5107
 
class WinTypeKeywords;
 
5175
class ExtGnu;
5108
5176
class PragmaOnceUnitState;
5109
5177
class PragmaOnce;
5110
 
class CCExprResolve;
5111
 
class CExprResolve;
 
5178
class CMatchSyntax;
5112
5179
namespace Puma {
5113
5180
 
5114
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
5181
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
5115
5182
class Config {
5116
 
#line 5117 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5183
#line 5184 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5184
  friend class ::CCExprResolve;
 
5185
  friend class ::CExprResolve;
5117
5186
  friend class ::WinIfExists;
5118
5187
  friend class ::WinImportHandler;
5119
5188
  friend class ::WinMacros;
5120
 
  friend class ::CMatchSyntax;
5121
 
  friend class ::ExtGnu;
 
5189
  friend class ::WinAsm;
 
5190
  friend class ::WinDeclSpecs;
 
5191
  friend class ::WinMemberExplSpec;
 
5192
  friend class ::WinTypeKeywords;
 
5193
  friend class ::WinFriend;
5122
5194
  friend class ::ExtAC;
5123
5195
  friend class ::ExtACBuilderCoupling;
5124
5196
  friend class ::ExtACSyntaxCoupling;
5125
5197
  friend class ::ExtACTree;
5126
5198
  friend class ::ExtACKeywords;
5127
 
  friend class ::WinAsm;
5128
 
  friend class ::WinDeclSpecs;
5129
 
  friend class ::WinMemberExplSpec;
5130
 
  friend class ::WinTypeKeywords;
 
5199
  friend class ::ExtGnu;
5131
5200
  friend class ::PragmaOnceUnitState;
5132
5201
  friend class ::PragmaOnce;
5133
 
  friend class ::CCExprResolve;
5134
 
  friend class ::CExprResolve;
 
5202
  friend class ::CMatchSyntax;
5135
5203
 
5136
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Config.h"
 
5204
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Config.h"
5137
5205
 
5138
5206
  Flags _flags;
5139
5207
  ErrorStream &_err;
5193
5261
private:
5194
5262
  bool Valid (const char *, const char * = (const char *)0) const;
5195
5263
 
5196
 
  bool Process (OptsParser&);
 
5264
  bool Process (OptsParser&, bool unescape = false);
5197
5265
  bool ProcessAssert (const string&);
5198
5266
  bool ProcessDefine (const string&);
5199
5267
  bool ProcessLockMacro (const string&);
5202
5270
  bool ProcessArgument (const string&,const string&);
5203
5271
  bool ProcessPathArgument (const string&,const string&);
5204
5272
 
 
5273
  string Unescape(const string&);
5205
5274
};
5206
5275
 
5207
5276
inline Config::Config (ErrorStream &e) : _err (e)
5243
5312
 
5244
5313
#endif /* __Config_h__ */
5245
5314
 
5246
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5315
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5247
5316
namespace Puma {
5248
5317
 
5249
5318
 
5250
5319
class Token;
5251
5320
 
5252
5321
 
5253
 
#line 5254 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5322
#line 5323 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
5254
5323
} // closed Puma
 
5324
class CCExprResolve;
 
5325
class CExprResolve;
5255
5326
class WinIfExists;
5256
5327
class WinImportHandler;
5257
5328
class WinMacros;
5258
 
class CMatchSyntax;
5259
 
class ExtGnu;
 
5329
class WinAsm;
 
5330
class WinDeclSpecs;
 
5331
class WinMemberExplSpec;
 
5332
class WinTypeKeywords;
 
5333
class WinFriend;
5260
5334
class ExtAC;
5261
5335
class ExtACBuilderCoupling;
5262
5336
class ExtACSyntaxCoupling;
5263
5337
class ExtACTree;
5264
5338
class ExtACKeywords;
5265
 
class WinAsm;
5266
 
class WinDeclSpecs;
5267
 
class WinMemberExplSpec;
5268
 
class WinTypeKeywords;
 
5339
class ExtGnu;
5269
5340
class PragmaOnceUnitState;
5270
5341
class PragmaOnce;
5271
 
class CCExprResolve;
5272
 
class CExprResolve;
 
5342
class CMatchSyntax;
5273
5343
namespace Puma {
5274
5344
 
5275
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5345
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5276
5346
class CScanner : public CRecognizer, public Tokenizer {
5277
 
#line 5278 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5347
#line 5348 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5348
  friend class ::CCExprResolve;
 
5349
  friend class ::CExprResolve;
5278
5350
  friend class ::WinIfExists;
5279
5351
  friend class ::WinImportHandler;
5280
5352
  friend class ::WinMacros;
5281
 
  friend class ::CMatchSyntax;
5282
 
  friend class ::ExtGnu;
 
5353
  friend class ::WinAsm;
 
5354
  friend class ::WinDeclSpecs;
 
5355
  friend class ::WinMemberExplSpec;
 
5356
  friend class ::WinTypeKeywords;
 
5357
  friend class ::WinFriend;
5283
5358
  friend class ::ExtAC;
5284
5359
  friend class ::ExtACBuilderCoupling;
5285
5360
  friend class ::ExtACSyntaxCoupling;
5286
5361
  friend class ::ExtACTree;
5287
5362
  friend class ::ExtACKeywords;
5288
 
  friend class ::WinAsm;
5289
 
  friend class ::WinDeclSpecs;
5290
 
  friend class ::WinMemberExplSpec;
5291
 
  friend class ::WinTypeKeywords;
 
5363
  friend class ::ExtGnu;
5292
5364
  friend class ::PragmaOnceUnitState;
5293
5365
  friend class ::PragmaOnce;
5294
 
  friend class ::CCExprResolve;
5295
 
  friend class ::CExprResolve;
 
5366
  friend class ::CMatchSyntax;
5296
5367
 
5297
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5368
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5298
5369
 
5299
5370
  Location loc;
5300
5371
  ErrorSink &err;
5309
5380
  virtual ~CScanner () {}
5310
5381
  void configure (const Config &);
5311
5382
  
5312
 
#line 5313 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
5313
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
5383
#line 5384 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5384
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
5314
5385
 
5315
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5386
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5316
5387
void fill_unit (Source &in, Unit &unit);
5317
5388
  
5318
 
#line 5319 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
5319
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
5389
#line 5390 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5390
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
5320
5391
 
5321
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
5392
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
5322
5393
void fill_unit (const char *in, Unit &unit);
5323
5394
};
5324
5395
 
5327
5398
 
5328
5399
#endif /* __c_scanner_h__ */
5329
5400
 
5330
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FdSource.h"
 
5401
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FdSource.h"
5331
5402
// This file is part of PUMA.
5332
5403
// Copyright (C) 1999-2003  The PUMA developer team.
5333
5404
//                                                                
5350
5421
#define __fd_source_h__
5351
5422
 
5352
5423
 
5353
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FdSource.h"
 
5424
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FdSource.h"
5354
5425
namespace Puma {
5355
5426
 
5356
5427
 
5357
5428
 
5358
 
#line 5359 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5429
#line 5430 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
5359
5430
} // closed Puma
 
5431
class CCExprResolve;
 
5432
class CExprResolve;
5360
5433
class WinIfExists;
5361
5434
class WinImportHandler;
5362
5435
class WinMacros;
5363
 
class CMatchSyntax;
5364
 
class ExtGnu;
 
5436
class WinAsm;
 
5437
class WinDeclSpecs;
 
5438
class WinMemberExplSpec;
 
5439
class WinTypeKeywords;
 
5440
class WinFriend;
5365
5441
class ExtAC;
5366
5442
class ExtACBuilderCoupling;
5367
5443
class ExtACSyntaxCoupling;
5368
5444
class ExtACTree;
5369
5445
class ExtACKeywords;
5370
 
class WinAsm;
5371
 
class WinDeclSpecs;
5372
 
class WinMemberExplSpec;
5373
 
class WinTypeKeywords;
 
5446
class ExtGnu;
5374
5447
class PragmaOnceUnitState;
5375
5448
class PragmaOnce;
5376
 
class CCExprResolve;
5377
 
class CExprResolve;
 
5449
class CMatchSyntax;
5378
5450
namespace Puma {
5379
5451
 
5380
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FdSource.h"
 
5452
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FdSource.h"
5381
5453
class FdSource : public Source {
5382
 
#line 5383 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5454
#line 5455 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5455
  friend class ::CCExprResolve;
 
5456
  friend class ::CExprResolve;
5383
5457
  friend class ::WinIfExists;
5384
5458
  friend class ::WinImportHandler;
5385
5459
  friend class ::WinMacros;
5386
 
  friend class ::CMatchSyntax;
5387
 
  friend class ::ExtGnu;
 
5460
  friend class ::WinAsm;
 
5461
  friend class ::WinDeclSpecs;
 
5462
  friend class ::WinMemberExplSpec;
 
5463
  friend class ::WinTypeKeywords;
 
5464
  friend class ::WinFriend;
5388
5465
  friend class ::ExtAC;
5389
5466
  friend class ::ExtACBuilderCoupling;
5390
5467
  friend class ::ExtACSyntaxCoupling;
5391
5468
  friend class ::ExtACTree;
5392
5469
  friend class ::ExtACKeywords;
5393
 
  friend class ::WinAsm;
5394
 
  friend class ::WinDeclSpecs;
5395
 
  friend class ::WinMemberExplSpec;
5396
 
  friend class ::WinTypeKeywords;
 
5470
  friend class ::ExtGnu;
5397
5471
  friend class ::PragmaOnceUnitState;
5398
5472
  friend class ::PragmaOnce;
5399
 
  friend class ::CCExprResolve;
5400
 
  friend class ::CExprResolve;
 
5473
  friend class ::CMatchSyntax;
5401
5474
 
5402
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FdSource.h"
 
5475
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FdSource.h"
5403
5476
 
5404
5477
  int _fd;
5405
5478
 
5425
5498
 
5426
5499
#endif /* __fd_source_h__ */
5427
5500
 
5428
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CTokens.h"
 
5501
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CTokens.h"
5429
5502
// This file is part of PUMA.
5430
5503
// Copyright (C) 1999-2003  The PUMA developer team.
5431
5504
//                                                                
5456
5529
  TOK_ZERO_VAL,
5457
5530
  TOK_INT_VAL,
5458
5531
  TOK_FLT_VAL,
 
5532
  TOK_STRING_VAL,
 
5533
  TOK_CHAR_VAL,
5459
5534
  TOK_COMMA,
5460
5535
  TOK_ASSIGN,
5461
5536
  TOK_QUESTION,
5638
5713
  TOK_LAST_AC = TOK_UNKNOWN_T,
5639
5714
  
5640
5715
  // further [A](C|C++) token
5641
 
  TOK_STRING_VAL,
5642
 
  TOK_CHAR_VAL,
5643
5716
  TOK_ID,
5644
5717
 
5645
5718
  // These two always have to be the ** last ** token listed here!!!
5652
5725
 
5653
5726
#endif /* __C_TOKENS__ */
5654
5727
 
5655
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParser.h"
 
5728
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParser.h"
5656
5729
#define TOK_PRE_ASSERT                  1
5657
5730
#define TOK_PRE_COMMA                   2
5658
5731
#define TOK_PRE_DEFINE                  3
5676
5749
#define TOK_PRE_UNDEF                  21
5677
5750
#define TOK_PRE_WARNING                22
5678
5751
 
5679
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5752
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5753
 
 
5754
#line 5755 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5755
 
 
5756
#ifndef __ac_fwd_PragmaOnceUnitState__
 
5757
#define __ac_fwd_PragmaOnceUnitState__
 
5758
class PragmaOnceUnitState;
 
5759
namespace AC {
 
5760
  template <class JoinPoint>
 
5761
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
5762
  template <class JoinPoint>
 
5763
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
 
5764
}
 
5765
#endif
 
5766
 
 
5767
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
5768
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
5769
#endif
 
5770
 
 
5771
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5680
5772
// This file is part of PUMA.
5681
5773
// Copyright (C) 1999-2003  The PUMA developer team.
5682
5774
//                                                                
5701
5793
// Class UnitManager helps you to have control of all units built.
5702
5794
 
5703
5795
 
5704
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5796
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5705
5797
#include <list>
5706
5798
#include <map>
5707
5799
 
5708
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5800
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5709
5801
using namespace std;
5710
5802
 
5711
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5803
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5712
5804
namespace Puma {
5713
5805
 
5714
5806
 
5717
5809
class Tokenizer;
5718
5810
 
5719
5811
 
5720
 
#line 5721 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5812
#line 5813 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
5721
5813
} // closed Puma
 
5814
class CCExprResolve;
 
5815
class CExprResolve;
5722
5816
class WinIfExists;
5723
5817
class WinImportHandler;
5724
5818
class WinMacros;
5725
 
class CMatchSyntax;
5726
 
class ExtGnu;
 
5819
class WinAsm;
 
5820
class WinDeclSpecs;
 
5821
class WinMemberExplSpec;
 
5822
class WinTypeKeywords;
 
5823
class WinFriend;
5727
5824
class ExtAC;
5728
5825
class ExtACBuilderCoupling;
5729
5826
class ExtACSyntaxCoupling;
5730
5827
class ExtACTree;
5731
5828
class ExtACKeywords;
5732
 
class WinAsm;
5733
 
class WinDeclSpecs;
5734
 
class WinMemberExplSpec;
5735
 
class WinTypeKeywords;
 
5829
class ExtGnu;
5736
5830
class PragmaOnceUnitState;
5737
5831
class PragmaOnce;
5738
 
class CCExprResolve;
5739
 
class CExprResolve;
 
5832
class CMatchSyntax;
5740
5833
namespace Puma {
5741
5834
 
5742
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5835
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5743
5836
class UnitManager {
5744
 
#line 5745 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5837
#line 5838 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5838
  friend class ::CCExprResolve;
 
5839
  friend class ::CExprResolve;
5745
5840
  friend class ::WinIfExists;
5746
5841
  friend class ::WinImportHandler;
5747
5842
  friend class ::WinMacros;
5748
 
  friend class ::CMatchSyntax;
5749
 
  friend class ::ExtGnu;
 
5843
  friend class ::WinAsm;
 
5844
  friend class ::WinDeclSpecs;
 
5845
  friend class ::WinMemberExplSpec;
 
5846
  friend class ::WinTypeKeywords;
 
5847
  friend class ::WinFriend;
5750
5848
  friend class ::ExtAC;
5751
5849
  friend class ::ExtACBuilderCoupling;
5752
5850
  friend class ::ExtACSyntaxCoupling;
5753
5851
  friend class ::ExtACTree;
5754
5852
  friend class ::ExtACKeywords;
5755
 
  friend class ::WinAsm;
5756
 
  friend class ::WinDeclSpecs;
5757
 
  friend class ::WinMemberExplSpec;
5758
 
  friend class ::WinTypeKeywords;
 
5853
  friend class ::ExtGnu;
5759
5854
  friend class ::PragmaOnceUnitState;
5760
5855
  friend class ::PragmaOnce;
5761
 
  friend class ::CCExprResolve;
5762
 
  friend class ::CExprResolve;
 
5856
  friend class ::CMatchSyntax;
5763
5857
 
5764
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5858
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
5765
5859
 
5766
5860
public:
5767
5861
  typedef map<string, Unit*> UMap;
5814
5908
      
5815
5909
  // Initialize the unit manager and the managed 
5816
5910
  // units for the next parse process.
5817
 
  void init ();
 
5911
  
 
5912
#line 5913 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
5913
public: __attribute__((always_inline)) inline void __exec_old_init();
 
5914
 
 
5915
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
5916
void init ();
5818
5917
};
5819
5918
 
5820
5919
 
5822
5921
 
5823
5922
#endif /* __UnitManager__ */
5824
5923
 
5825
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
5924
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
5826
5925
// This file is part of PUMA.
5827
5926
// Copyright (C) 1999-2003  The PUMA developer team.
5828
5927
//                                                                
5852
5951
using std::set;
5853
5952
 
5854
5953
 
5855
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
5954
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
5856
5955
// This file is part of PUMA.
5857
5956
// Copyright (C) 1999-2003  The PUMA developer team.
5858
5957
//                                                                
5877
5976
// The macro manager manages all defined macros.
5878
5977
 
5879
5978
 
5880
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
5979
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
5881
5980
// This file is part of PUMA.
5882
5981
// Copyright (C) 1999-2003  The PUMA developer team.
5883
5982
//                                                                
5906
6005
// of arguments.
5907
6006
 
5908
6007
 
5909
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
6008
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
5910
6009
namespace Puma {
5911
6010
 
5912
6011
 
5914
6013
class CScanner;
5915
6014
 
5916
6015
 
5917
 
#line 5918 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6016
#line 6017 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
5918
6017
} // closed Puma
 
6018
class CCExprResolve;
 
6019
class CExprResolve;
5919
6020
class WinIfExists;
5920
6021
class WinImportHandler;
5921
6022
class WinMacros;
5922
 
class CMatchSyntax;
5923
 
class ExtGnu;
 
6023
class WinAsm;
 
6024
class WinDeclSpecs;
 
6025
class WinMemberExplSpec;
 
6026
class WinTypeKeywords;
 
6027
class WinFriend;
5924
6028
class ExtAC;
5925
6029
class ExtACBuilderCoupling;
5926
6030
class ExtACSyntaxCoupling;
5927
6031
class ExtACTree;
5928
6032
class ExtACKeywords;
5929
 
class WinAsm;
5930
 
class WinDeclSpecs;
5931
 
class WinMemberExplSpec;
5932
 
class WinTypeKeywords;
 
6033
class ExtGnu;
5933
6034
class PragmaOnceUnitState;
5934
6035
class PragmaOnce;
5935
 
class CCExprResolve;
5936
 
class CExprResolve;
 
6036
class CMatchSyntax;
5937
6037
namespace Puma {
5938
6038
 
5939
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
6039
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
5940
6040
class PreMacro : public Chain {
5941
 
#line 5942 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6041
#line 6042 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6042
  friend class ::CCExprResolve;
 
6043
  friend class ::CExprResolve;
5942
6044
  friend class ::WinIfExists;
5943
6045
  friend class ::WinImportHandler;
5944
6046
  friend class ::WinMacros;
5945
 
  friend class ::CMatchSyntax;
5946
 
  friend class ::ExtGnu;
 
6047
  friend class ::WinAsm;
 
6048
  friend class ::WinDeclSpecs;
 
6049
  friend class ::WinMemberExplSpec;
 
6050
  friend class ::WinTypeKeywords;
 
6051
  friend class ::WinFriend;
5947
6052
  friend class ::ExtAC;
5948
6053
  friend class ::ExtACBuilderCoupling;
5949
6054
  friend class ::ExtACSyntaxCoupling;
5950
6055
  friend class ::ExtACTree;
5951
6056
  friend class ::ExtACKeywords;
5952
 
  friend class ::WinAsm;
5953
 
  friend class ::WinDeclSpecs;
5954
 
  friend class ::WinMemberExplSpec;
5955
 
  friend class ::WinTypeKeywords;
 
6057
  friend class ::ExtGnu;
5956
6058
  friend class ::PragmaOnceUnitState;
5957
6059
  friend class ::PragmaOnce;
5958
 
  friend class ::CCExprResolve;
5959
 
  friend class ::CExprResolve;
 
6060
  friend class ::CMatchSyntax;
5960
6061
 
5961
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacro.h"
 
6062
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacro.h"
5962
6063
 
5963
6064
public:
5964
6065
  typedef Array<const char *> MacroArgs;
6026
6127
 
6027
6128
#endif /* __pre_macro__ */
6028
6129
 
6029
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6130
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6030
6131
using namespace std;
6031
6132
 
6032
6133
#ifdef __puma
6041
6142
class ErrorStream;
6042
6143
 
6043
6144
 
6044
 
#line 6045 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6145
#line 6146 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
6045
6146
} // closed Puma
 
6147
class CCExprResolve;
 
6148
class CExprResolve;
6046
6149
class WinIfExists;
6047
6150
class WinImportHandler;
6048
6151
class WinMacros;
6049
 
class CMatchSyntax;
6050
 
class ExtGnu;
 
6152
class WinAsm;
 
6153
class WinDeclSpecs;
 
6154
class WinMemberExplSpec;
 
6155
class WinTypeKeywords;
 
6156
class WinFriend;
6051
6157
class ExtAC;
6052
6158
class ExtACBuilderCoupling;
6053
6159
class ExtACSyntaxCoupling;
6054
6160
class ExtACTree;
6055
6161
class ExtACKeywords;
6056
 
class WinAsm;
6057
 
class WinDeclSpecs;
6058
 
class WinMemberExplSpec;
6059
 
class WinTypeKeywords;
 
6162
class ExtGnu;
6060
6163
class PragmaOnceUnitState;
6061
6164
class PragmaOnce;
6062
 
class CCExprResolve;
6063
 
class CExprResolve;
 
6165
class CMatchSyntax;
6064
6166
namespace Puma {
6065
6167
 
6066
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6168
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6067
6169
class PreMacroManager {
6068
 
#line 6069 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6170
#line 6171 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6171
  friend class ::CCExprResolve;
 
6172
  friend class ::CExprResolve;
6069
6173
  friend class ::WinIfExists;
6070
6174
  friend class ::WinImportHandler;
6071
6175
  friend class ::WinMacros;
6072
 
  friend class ::CMatchSyntax;
6073
 
  friend class ::ExtGnu;
 
6176
  friend class ::WinAsm;
 
6177
  friend class ::WinDeclSpecs;
 
6178
  friend class ::WinMemberExplSpec;
 
6179
  friend class ::WinTypeKeywords;
 
6180
  friend class ::WinFriend;
6074
6181
  friend class ::ExtAC;
6075
6182
  friend class ::ExtACBuilderCoupling;
6076
6183
  friend class ::ExtACSyntaxCoupling;
6077
6184
  friend class ::ExtACTree;
6078
6185
  friend class ::ExtACKeywords;
6079
 
  friend class ::WinAsm;
6080
 
  friend class ::WinDeclSpecs;
6081
 
  friend class ::WinMemberExplSpec;
6082
 
  friend class ::WinTypeKeywords;
 
6186
  friend class ::ExtGnu;
6083
6187
  friend class ::PragmaOnceUnitState;
6084
6188
  friend class ::PragmaOnce;
6085
 
  friend class ::CCExprResolve;
6086
 
  friend class ::CExprResolve;
 
6189
  friend class ::CMatchSyntax;
6087
6190
 
6088
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
 
6191
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroManager.h"
6089
6192
 
6090
6193
  PreMacro *_Line;
6091
6194
  PreMacro *_Date;
6135
6238
 
6136
6239
#endif /* __pre_macro_manager__ */
6137
6240
 
6138
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6241
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6139
6242
namespace Puma {
6140
6243
 
6141
6244
 
6145
6248
class TokenStream;
6146
6249
 
6147
6250
 
6148
 
#line 6149 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6251
#line 6252 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
6149
6252
} // closed Puma
 
6253
class CCExprResolve;
 
6254
class CExprResolve;
6150
6255
class WinIfExists;
6151
6256
class WinImportHandler;
6152
6257
class WinMacros;
6153
 
class CMatchSyntax;
6154
 
class ExtGnu;
 
6258
class WinAsm;
 
6259
class WinDeclSpecs;
 
6260
class WinMemberExplSpec;
 
6261
class WinTypeKeywords;
 
6262
class WinFriend;
6155
6263
class ExtAC;
6156
6264
class ExtACBuilderCoupling;
6157
6265
class ExtACSyntaxCoupling;
6158
6266
class ExtACTree;
6159
6267
class ExtACKeywords;
6160
 
class WinAsm;
6161
 
class WinDeclSpecs;
6162
 
class WinMemberExplSpec;
6163
 
class WinTypeKeywords;
 
6268
class ExtGnu;
6164
6269
class PragmaOnceUnitState;
6165
6270
class PragmaOnce;
6166
 
class CCExprResolve;
6167
 
class CExprResolve;
 
6271
class CMatchSyntax;
6168
6272
namespace Puma {
6169
6273
 
6170
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6274
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6171
6275
class PreParserState {
6172
 
#line 6173 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6276
#line 6277 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6277
  friend class ::CCExprResolve;
 
6278
  friend class ::CExprResolve;
6173
6279
  friend class ::WinIfExists;
6174
6280
  friend class ::WinImportHandler;
6175
6281
  friend class ::WinMacros;
6176
 
  friend class ::CMatchSyntax;
6177
 
  friend class ::ExtGnu;
 
6282
  friend class ::WinAsm;
 
6283
  friend class ::WinDeclSpecs;
 
6284
  friend class ::WinMemberExplSpec;
 
6285
  friend class ::WinTypeKeywords;
 
6286
  friend class ::WinFriend;
6178
6287
  friend class ::ExtAC;
6179
6288
  friend class ::ExtACBuilderCoupling;
6180
6289
  friend class ::ExtACSyntaxCoupling;
6181
6290
  friend class ::ExtACTree;
6182
6291
  friend class ::ExtACKeywords;
6183
 
  friend class ::WinAsm;
6184
 
  friend class ::WinDeclSpecs;
6185
 
  friend class ::WinMemberExplSpec;
6186
 
  friend class ::WinTypeKeywords;
 
6292
  friend class ::ExtGnu;
6187
6293
  friend class ::PragmaOnceUnitState;
6188
6294
  friend class ::PragmaOnce;
6189
 
  friend class ::CCExprResolve;
6190
 
  friend class ::CExprResolve;
 
6295
  friend class ::CMatchSyntax;
6191
6296
 
6192
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreParserState.h"
 
6297
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreParserState.h"
6193
6298
 
6194
6299
  // some constant strings
6195
6300
  DString _Line, _File, _Date, _Time, _IncLevel;
6244
6349
 
6245
6350
#endif /* __pre_parser_state__ */
6246
6351
 
6247
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
6352
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
6248
6353
// This file is part of PUMA.
6249
6354
// Copyright (C) 1999-2003  The PUMA developer team.
6250
6355
//                                                                
6269
6374
// Preprocessor class to handle includes.
6270
6375
 
6271
6376
 
6272
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
6377
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
6273
6378
 
6274
 
#line 6275 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6379
#line 6380 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
6275
6380
 
6276
6381
#ifndef __ac_fwd_WinIfExists__
6277
6382
#define __ac_fwd_WinIfExists__
6278
6383
class WinIfExists;
6279
6384
namespace AC {
6280
6385
  template <class JoinPoint>
6281
 
  inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
 
6386
  __attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
6282
6387
}
6283
6388
#endif
6284
6389
 
6285
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
6286
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
6390
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
6391
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
6287
6392
#endif
6288
6393
 
6289
6394
#ifndef __ac_fwd_WinImportHandler__
6290
6395
#define __ac_fwd_WinImportHandler__
6291
6396
class WinImportHandler;
6292
6397
namespace AC {
6293
 
  template <class JoinPoint, class Binding>
6294
 
  inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
6295
 
}
6296
 
#endif
6297
 
 
6298
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
6299
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
6398
  template <class JoinPoint>
 
6399
  __attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
 
6400
}
 
6401
#endif
 
6402
 
 
6403
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
6404
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
6405
#endif
 
6406
 
 
6407
#ifndef __ac_fwd_WinMacros__
 
6408
#define __ac_fwd_WinMacros__
 
6409
class WinMacros;
 
6410
namespace AC {
 
6411
  template <class JoinPoint>
 
6412
  __attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
 
6413
}
 
6414
#endif
 
6415
 
 
6416
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
6417
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
6300
6418
#endif
6301
6419
 
6302
6420
#ifndef __ac_fwd_PragmaOnce__
6304
6422
class PragmaOnce;
6305
6423
namespace AC {
6306
6424
  template <class JoinPoint>
6307
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
6308
 
  template <class JoinPoint>
6309
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
6310
 
  template <class JoinPoint, class Binding>
6311
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
6312
 
  template <class JoinPoint>
6313
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
6314
 
}
6315
 
#endif
6316
 
 
6317
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
6318
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
6319
 
#endif
6320
 
 
6321
 
#ifndef __ac_fwd_WinMacros__
6322
 
#define __ac_fwd_WinMacros__
6323
 
class WinMacros;
6324
 
namespace AC {
6325
 
  template <class JoinPoint, class Binding>
6326
 
  inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
6327
 
}
6328
 
#endif
6329
 
 
6330
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
6331
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
6332
 
#endif
6333
 
 
6334
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
6335
 
 
6336
 
#line 6337 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6337
 
 
6338
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
6425
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
 
6426
  template <class JoinPoint>
 
6427
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
 
6428
  template <class JoinPoint>
 
6429
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
 
6430
  template <class JoinPoint>
 
6431
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
 
6432
}
 
6433
#endif
 
6434
 
 
6435
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6436
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
6437
#endif
 
6438
 
 
6439
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
6339
6440
// This file is part of PUMA.
6340
6441
// Copyright (C) 1999-2003  The PUMA developer team.
6341
6442
//                                                                
6354
6455
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
6355
6456
// MA  02111-1307  USA                                            
6356
6457
 
6357
 
#ifndef __WinIfExists__
6358
 
#define __WinIfExists__
6359
 
 
6360
 
/********************************************************/
6361
 
/* Win __if_exists and __if_not_exists support aspect   */
6362
 
/********************************************************/
6363
 
 
6364
 
 
6365
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
 
6458
#ifndef __preprocessor_parser__
 
6459
#define __preprocessor_parser__
 
6460
 
 
6461
// Preprocessor parser class. !!! The preprocessor parser has to 
 
6462
// be added last to the composite parser of a translation unit !!!
 
6463
 
 
6464
 
 
6465
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Stack.h"
6366
6466
// This file is part of PUMA.
6367
6467
// Copyright (C) 1999-2003  The PUMA developer team.
6368
6468
//                                                                
6385
6485
#define __stack_h__
6386
6486
 
6387
6487
 
6388
 
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
6389
 
namespace Puma {
6390
 
 
6391
 
 
6392
 
#line 6393 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6393
 
} // closed Puma
6394
 
class WinIfExists;
6395
 
class WinImportHandler;
6396
 
class WinMacros;
6397
 
class CMatchSyntax;
6398
 
class ExtGnu;
6399
 
class ExtAC;
6400
 
class ExtACBuilderCoupling;
6401
 
class ExtACSyntaxCoupling;
6402
 
class ExtACTree;
6403
 
class ExtACKeywords;
6404
 
class WinAsm;
6405
 
class WinDeclSpecs;
6406
 
class WinMemberExplSpec;
6407
 
class WinTypeKeywords;
6408
 
class PragmaOnceUnitState;
6409
 
class PragmaOnce;
6410
 
class CCExprResolve;
6411
 
class CExprResolve;
6412
 
namespace Puma {
6413
 
 
6414
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
 
6488
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Stack.h"
 
6489
namespace Puma {
 
6490
 
6415
6491
template <class Item>
6416
6492
class Stack : private Array<Item> {
6417
 
#line 6418 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6418
 
  friend class ::WinIfExists;
6419
 
  friend class ::WinImportHandler;
6420
 
  friend class ::WinMacros;
6421
 
  friend class ::CMatchSyntax;
6422
 
  friend class ::ExtGnu;
6423
 
  friend class ::ExtAC;
6424
 
  friend class ::ExtACBuilderCoupling;
6425
 
  friend class ::ExtACSyntaxCoupling;
6426
 
  friend class ::ExtACTree;
6427
 
  friend class ::ExtACKeywords;
6428
 
  friend class ::WinAsm;
6429
 
  friend class ::WinDeclSpecs;
6430
 
  friend class ::WinMemberExplSpec;
6431
 
  friend class ::WinTypeKeywords;
6432
 
  friend class ::PragmaOnceUnitState;
6433
 
  friend class ::PragmaOnce;
6434
 
  friend class ::CCExprResolve;
6435
 
  friend class ::CExprResolve;
6436
 
 
6437
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
6438
 
 
6439
6493
public:
6440
6494
  Stack (long is = 8192, long incr = 8192) :
6441
6495
    Array<Item> (is, incr) {}
6451
6505
 
6452
6506
#endif /* __stack_h__ */
6453
6507
 
6454
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6455
 
using namespace Puma;
6456
 
 
6457
 
namespace Puma {
6458
 
  
6459
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6460
 
 
6461
 
}
6462
 
 
6463
 
 
6464
 
#line 6465 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6465
 
class WinImportHandler;
6466
 
class WinMacros;
6467
 
class CMatchSyntax;
6468
 
class ExtGnu;
6469
 
class ExtAC;
6470
 
class ExtACBuilderCoupling;
6471
 
class ExtACSyntaxCoupling;
6472
 
class ExtACTree;
6473
 
class ExtACKeywords;
6474
 
class WinAsm;
6475
 
class WinDeclSpecs;
6476
 
class WinMemberExplSpec;
6477
 
class WinTypeKeywords;
6478
 
class PragmaOnceUnitState;
6479
 
class PragmaOnce;
6480
 
class CCExprResolve;
6481
 
class CExprResolve;
6482
 
 
6483
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6484
 
class WinIfExists {
6485
 
#line 6486 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6486
 
 
6487
 
public:
6488
 
  static WinIfExists *aspectof () {
6489
 
    static WinIfExists __instance;
6490
 
    return &__instance;
6491
 
  }
6492
 
  static WinIfExists *aspectOf () {
6493
 
    return aspectof ();
6494
 
  }
6495
 
private:
6496
 
 
6497
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6498
 
 
6499
 
#line 6500 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6500
 
  friend class ::WinImportHandler;
6501
 
  friend class ::WinMacros;
6502
 
  friend class ::CMatchSyntax;
6503
 
  friend class ::ExtGnu;
6504
 
  friend class ::ExtAC;
6505
 
  friend class ::ExtACBuilderCoupling;
6506
 
  friend class ::ExtACSyntaxCoupling;
6507
 
  friend class ::ExtACTree;
6508
 
  friend class ::ExtACKeywords;
6509
 
  friend class ::WinAsm;
6510
 
  friend class ::WinDeclSpecs;
6511
 
  friend class ::WinMemberExplSpec;
6512
 
  friend class ::WinTypeKeywords;
6513
 
  friend class ::PragmaOnceUnitState;
6514
 
  friend class ::PragmaOnce;
6515
 
  friend class ::CCExprResolve;
6516
 
  friend class ::CExprResolve;
6517
 
 
6518
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6519
 
 
6520
 
  /********************************************************/
6521
 
  /* Win __if_exists and __if_not_exists                  */
6522
 
  /********************************************************/
6523
 
 
6524
 
  // pointcut definitions
6525
 
  
6526
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6527
 
 
6528
 
 
6529
 
  // structural extensions
6530
 
  
6531
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6532
 
 
6533
 
 
6534
 
  // preprocess __if_exists and __if_not_exists statements
6535
 
  
6536
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6537
 
 
6538
 
public: template<class JoinPoint> void __a0_around 
6539
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6540
 
 
6541
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6542
 
(JoinPoint *tjp)
6543
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6544
 
 {
6545
 
#line 6546 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6546
 
 
6547
 
  JoinPoint *&thisJoinPoint = tjp;
6548
 
 
6549
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6550
 
 
6551
 
#line 6552 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6552
 
 
6553
 
  typedef typename JoinPoint::That __JP_That;
6554
 
  typedef typename JoinPoint::Target __JP_Target;
6555
 
  typedef typename JoinPoint::Result __JP_Result;
6556
 
 
6557
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6558
 
 
6559
 
    Token *token;
6560
 
    int type;
6561
 
    __JP_That
6562
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6563
 
 *preparser;
6564
 
  
6565
 
        preparser = tjp->that ();
6566
 
    tjp->proceed (); // get the next token
6567
 
    token = *tjp->result ();
6568
 
    if (token) {
6569
 
      type = token->type ();
6570
 
      // __if_exists (...) { ... }
6571
 
      if (type == TOK_IF_EXISTS) {
6572
 
        preparser->skip_up_to (TOK_CLOSE_CURLY);
6573
 
                    *(Token**)thisJoinPoint->result () = preparser->next ();
6574
 
                    return;
6575
 
        // __if_not_exists (...) { ... }
6576
 
      } else if (type == TOK_IF_NOT_EXISTS) {
6577
 
        preparser->skip_up_to (TOK_OPEN_CURLY);
6578
 
        preparser->_depth.push (1);
6579
 
                    *(Token**)thisJoinPoint->result () = preparser->next ();
6580
 
                    return;
6581
 
      }
6582
 
      // skip closing `}' of __if_not_exists
6583
 
      if (preparser->_depth.length ()) {
6584
 
        if (type == TOK_OPEN_CURLY) 
6585
 
          preparser->_depth.top () = preparser->_depth.top () + 1;
6586
 
        else if (type == TOK_CLOSE_CURLY) { 
6587
 
          preparser->_depth.top () = preparser->_depth.top () - 1;
6588
 
                    if (preparser->_depth.top () == 0) {
6589
 
                  preparser->_depth.pop ();
6590
 
                  *(Token**)thisJoinPoint->result () = preparser->next ();
6591
 
                  return;
6592
 
                    }
6593
 
        }
6594
 
      }
6595
 
    }
6596
 
  }
6597
 
#line 6598 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6598
 
 
6599
 
private:
6600
 
 
6601
 
#line 84 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6602
 
 
6603
 
 
6604
 
protected:
6605
 
  WinIfExists () {}
6606
 
};
6607
 
#line 6608 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6608
 
 
6609
 
namespace AC {
6610
 
  template <class JoinPoint>
6611
 
  inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp) {
6612
 
    ::WinIfExists::aspectof()->__a0_around (tjp);
6613
 
  }
6614
 
6615
 
 
6616
 
#line 88 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6617
 
 
6618
 
 
6619
 
namespace Puma {
6620
 
  
6621
 
#line 97 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6622
 
 
6623
 
    
6624
 
  // skip __if_exists resp. __if_not_exists statement
6625
 
  
6626
 
#line 137 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
6627
 
 
6628
 
}
6629
 
 
6630
 
#endif /* __WinIfExists__ */
6631
 
 
6632
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6633
 
// This file is part of PUMA.
6634
 
// Copyright (C) 1999-2003  The PUMA developer team.
6635
 
//                                                                
6636
 
// This program is free software;  you can redistribute it and/or 
6637
 
// modify it under the terms of the GNU General Public License as 
6638
 
// published by the Free Software Foundation; either version 2 of 
6639
 
// the License, or (at your option) any later version.            
6640
 
//                                                                
6641
 
// This program is distributed in the hope that it will be useful,
6642
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
6643
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
6644
 
// GNU General Public License for more details.                   
6645
 
//                                                                
6646
 
// You should have received a copy of the GNU General Public      
6647
 
// License along with this program; if not, write to the Free     
6648
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
6649
 
// MA  02111-1307  USA                                            
6650
 
 
6651
 
#ifndef __WinImportHandler__
6652
 
#define __WinImportHandler__
6653
 
 
6654
 
/********************************************************/
6655
 
/* Win #import directive support                        */
6656
 
/********************************************************/
6657
 
 
6658
 
 
6659
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6660
 
using namespace Puma;
6661
 
 
6662
 
 
6663
 
 
6664
 
#line 6665 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6665
 
class WinIfExists;
6666
 
class WinMacros;
6667
 
class CMatchSyntax;
6668
 
class ExtGnu;
6669
 
class ExtAC;
6670
 
class ExtACBuilderCoupling;
6671
 
class ExtACSyntaxCoupling;
6672
 
class ExtACTree;
6673
 
class ExtACKeywords;
6674
 
class WinAsm;
6675
 
class WinDeclSpecs;
6676
 
class WinMemberExplSpec;
6677
 
class WinTypeKeywords;
6678
 
class PragmaOnceUnitState;
6679
 
class PragmaOnce;
6680
 
class CCExprResolve;
6681
 
class CExprResolve;
6682
 
 
6683
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6684
 
class WinImportHandler {
6685
 
#line 6686 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6686
 
 
6687
 
public:
6688
 
  static WinImportHandler *aspectof () {
6689
 
    static WinImportHandler __instance;
6690
 
    return &__instance;
6691
 
  }
6692
 
  static WinImportHandler *aspectOf () {
6693
 
    return aspectof ();
6694
 
  }
6695
 
private:
6696
 
 
6697
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6698
 
 
6699
 
#line 6700 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6700
 
  friend class ::WinIfExists;
6701
 
  friend class ::WinMacros;
6702
 
  friend class ::CMatchSyntax;
6703
 
  friend class ::ExtGnu;
6704
 
  friend class ::ExtAC;
6705
 
  friend class ::ExtACBuilderCoupling;
6706
 
  friend class ::ExtACSyntaxCoupling;
6707
 
  friend class ::ExtACTree;
6708
 
  friend class ::ExtACKeywords;
6709
 
  friend class ::WinAsm;
6710
 
  friend class ::WinDeclSpecs;
6711
 
  friend class ::WinMemberExplSpec;
6712
 
  friend class ::WinTypeKeywords;
6713
 
  friend class ::PragmaOnceUnitState;
6714
 
  friend class ::PragmaOnce;
6715
 
  friend class ::CCExprResolve;
6716
 
  friend class ::CExprResolve;
6717
 
 
6718
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6719
 
 
6720
 
  /********************************************************/
6721
 
  /* Win #import directive                                */
6722
 
  /********************************************************/
6723
 
 
6724
 
  // pointcuts
6725
 
  
6726
 
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6727
 
 
6728
 
  
6729
 
  // add access method for _importHandler data member
6730
 
  
6731
 
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6732
 
 
6733
 
 
6734
 
  // handle --import-handler option
6735
 
  
6736
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6737
 
 
6738
 
public: template<class JoinPoint> void __a0_before 
6739
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6740
 
 
6741
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6742
 
(JoinPoint *tjp, const Config &config, bool process_includes)
6743
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6744
 
 {
6745
 
#line 6746 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6746
 
 
6747
 
  JoinPoint *&thisJoinPoint = tjp;
6748
 
 
6749
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6750
 
 
6751
 
#line 6752 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6752
 
 
6753
 
  typedef typename JoinPoint::That __JP_That;
6754
 
  typedef typename JoinPoint::Target __JP_Target;
6755
 
  typedef typename JoinPoint::Result __JP_Result;
6756
 
 
6757
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6758
 
 
6759
 
    const ConfOption *opt;
6760
 
    char *tmp;
6761
 
    
6762
 
    if (process_includes) {
6763
 
      opt = config.Option ("--import-handler");
6764
 
      if (opt && opt->Arguments ()) {
6765
 
        // delete old import handler
6766
 
        if (thisJoinPoint->that ()->_importHandler)
6767
 
          delete[] thisJoinPoint->that ()->_importHandler;
6768
 
        
6769
 
        // get new import handler
6770
 
        tmp = new char[strlen (opt->Argument (0))+1];
6771
 
        strcpy (tmp, opt->Argument (0));
6772
 
        thisJoinPoint->that ()->_importHandler = tmp;
6773
 
      }
6774
 
    }
6775
 
  }
6776
 
#line 6777 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6777
 
 
6778
 
private:
6779
 
 
6780
 
#line 66 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6781
 
 
6782
 
 
6783
 
protected:
6784
 
  WinImportHandler () {}
6785
 
};
6786
 
#line 6787 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6787
 
 
6788
 
namespace AC {
6789
 
  template <class JoinPoint, class Binding>
6790
 
  inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp) {
6791
 
    typedef typename Binding::template Arg<0> Arg0;
6792
 
    typedef typename Binding::template Arg<1> Arg1;
6793
 
    ::WinImportHandler::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp), (bool)Arg1::val (tjp));
6794
 
  }
6795
 
6796
 
 
6797
 
#line 70 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
6798
 
 
6799
 
 
6800
 
 
6801
 
#endif /* __WinImportHandler__ */
6802
 
 
6803
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6804
 
// This file is part of PUMA.
6805
 
// Copyright (C) 1999-2003  The PUMA developer team.
6806
 
//                                                                
6807
 
// This program is free software;  you can redistribute it and/or 
6808
 
// modify it under the terms of the GNU General Public License as 
6809
 
// published by the Free Software Foundation; either version 2 of 
6810
 
// the License, or (at your option) any later version.            
6811
 
//                                                                
6812
 
// This program is distributed in the hope that it will be useful,
6813
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
6814
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
6815
 
// GNU General Public License for more details.                   
6816
 
//                                                                
6817
 
// You should have received a copy of the GNU General Public      
6818
 
// License along with this program; if not, write to the Free     
6819
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
6820
 
// MA  02111-1307  USA                                            
6821
 
 
6822
 
#ifndef __PragmaOnce__
6823
 
#define __PragmaOnce__
6824
 
 
6825
 
/********************************************************/
6826
 
/* Win #pragma once support aspect                      */
6827
 
/********************************************************/
6828
 
 
6829
 
 
6830
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6831
 
using std::cout;
6832
 
using std::endl;
6833
 
 
6834
 
 
6835
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6836
 
using namespace Puma;
6837
 
 
6838
 
 
6839
 
 
6840
 
#line 6841 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6841
 
class WinIfExists;
6842
 
class WinImportHandler;
6843
 
class WinMacros;
6844
 
class CMatchSyntax;
6845
 
class ExtGnu;
6846
 
class ExtAC;
6847
 
class ExtACBuilderCoupling;
6848
 
class ExtACSyntaxCoupling;
6849
 
class ExtACTree;
6850
 
class ExtACKeywords;
6851
 
class WinAsm;
6852
 
class WinDeclSpecs;
6853
 
class WinMemberExplSpec;
6854
 
class WinTypeKeywords;
6855
 
class PragmaOnceUnitState;
6856
 
class CCExprResolve;
6857
 
class CExprResolve;
6858
 
 
6859
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6860
 
class PragmaOnce {
6861
 
#line 6862 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6862
 
 
6863
 
public:
6864
 
  static PragmaOnce *aspectof () {
6865
 
    static PragmaOnce __instance;
6866
 
    return &__instance;
6867
 
  }
6868
 
  static PragmaOnce *aspectOf () {
6869
 
    return aspectof ();
6870
 
  }
6871
 
private:
6872
 
 
6873
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6874
 
 
6875
 
#line 6876 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6876
 
  friend class ::WinIfExists;
6877
 
  friend class ::WinImportHandler;
6878
 
  friend class ::WinMacros;
6879
 
  friend class ::CMatchSyntax;
6880
 
  friend class ::ExtGnu;
6881
 
  friend class ::ExtAC;
6882
 
  friend class ::ExtACBuilderCoupling;
6883
 
  friend class ::ExtACSyntaxCoupling;
6884
 
  friend class ::ExtACTree;
6885
 
  friend class ::ExtACKeywords;
6886
 
  friend class ::WinAsm;
6887
 
  friend class ::WinDeclSpecs;
6888
 
  friend class ::WinMemberExplSpec;
6889
 
  friend class ::WinTypeKeywords;
6890
 
  friend class ::PragmaOnceUnitState;
6891
 
  friend class ::CCExprResolve;
6892
 
  friend class ::CExprResolve;
6893
 
 
6894
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6895
 
 
6896
 
  /******************************************************/
6897
 
  /* detect #pragma once in the token stream of cpp     */
6898
 
  /******************************************************/
6899
 
 
6900
 
  // pointcut definitions
6901
 
  
6902
 
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6903
 
 
6904
 
  
6905
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6906
 
 
6907
 
  
6908
 
  // extend the preprocessor parser by the filter state
6909
 
  
6910
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6911
 
 
6912
 
 
6913
 
  // initialize the filter state
6914
 
  
6915
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6916
 
 
6917
 
public: template<class JoinPoint> void __a0_after 
6918
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6919
 
 
6920
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6921
 
(JoinPoint *tjp)
6922
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6923
 
 {
6924
 
#line 6925 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6925
 
 
6926
 
  typedef typename JoinPoint::That __JP_That;
6927
 
  typedef typename JoinPoint::Target __JP_Target;
6928
 
  typedef typename JoinPoint::Result __JP_Result;
6929
 
 
6930
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6931
 
 
6932
 
    // TODO: it would be better to have construction advice -> but in lem file
6933
 
    tjp->that ()->_pragma_token = 0;
6934
 
  }
6935
 
#line 6936 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6936
 
 
6937
 
private:
6938
 
 
6939
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6940
 
 
6941
 
  
6942
 
  // filter #pragma once
6943
 
  
6944
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6945
 
 
6946
 
public: template<class JoinPoint> void __a1_after 
6947
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6948
 
 
6949
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6950
 
(JoinPoint *tjp)
6951
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6952
 
 {
6953
 
#line 6954 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6954
 
 
6955
 
  typedef typename JoinPoint::That __JP_That;
6956
 
  typedef typename JoinPoint::Target __JP_Target;
6957
 
  typedef typename JoinPoint::Result __JP_Result;
6958
 
 
6959
 
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6960
 
 
6961
 
    Token *tok = *tjp->result ();
6962
 
    __JP_That
6963
 
#line 56 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6964
 
 &that = *tjp->that ();
6965
 
    if (!tok || !tok->is_directive ()) {
6966
 
      that._pragma_token = 0;
6967
 
      return;
6968
 
    }
6969
 
    if (strcmp ("#pragma", tok->text ()) == 0) {
6970
 
      that._pragma_token = tok;
6971
 
    }
6972
 
    else if (that._pragma_token && strcmp ("once", tok->text ()) == 0) {
6973
 
      Unit *unit = (Unit*)tok->belonging_to ();
6974
 
      assert (unit);
6975
 
      unit->state ().onlyOnce (true);
6976
 
    }
6977
 
  }
6978
 
#line 6979 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
6979
 
 
6980
 
private:
6981
 
 
6982
 
#line 69 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6983
 
 
6984
 
  
6985
 
  /********************************************************/
6986
 
  /* block the handling of pragma once files              */
6987
 
  /********************************************************/
6988
 
 
6989
 
  // don't let file includer include files twice
6990
 
  // to be precise: the file is included again, but the inclusion produces
6991
 
  // no tokens
6992
 
  
6993
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6994
 
 
6995
 
public: template<class JoinPoint> void __a2_around 
6996
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6997
 
 
6998
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
6999
 
(JoinPoint *tjp, Unit *unit)
7000
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7001
 
 {
7002
 
#line 7003 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7003
 
 
7004
 
  typedef typename JoinPoint::That __JP_That;
7005
 
  typedef typename JoinPoint::Target __JP_Target;
7006
 
  typedef typename JoinPoint::Result __JP_Result;
7007
 
 
7008
 
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7009
 
 
7010
 
    if (! unit || ! unit->state ().onlyOnce ())
7011
 
      tjp->proceed ();
7012
 
  }
7013
 
#line 7014 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7014
 
 
7015
 
private:
7016
 
 
7017
 
#line 83 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7018
 
 
7019
 
 
7020
 
  // includeFile shall return 0 if the file was not included
7021
 
  
7022
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7023
 
 
7024
 
public: template<class JoinPoint> void __a3_after 
7025
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7026
 
 
7027
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7028
 
(JoinPoint *tjp)
7029
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7030
 
 {
7031
 
#line 7032 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7032
 
 
7033
 
  typedef typename JoinPoint::That __JP_That;
7034
 
  typedef typename JoinPoint::Target __JP_Target;
7035
 
  typedef typename JoinPoint::Result __JP_Result;
7036
 
 
7037
 
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7038
 
 
7039
 
    Unit *&unit = *tjp->result ();
7040
 
    if (unit && unit->state ().onlyOnce ())
7041
 
      unit = 0;
7042
 
  }
7043
 
#line 7044 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7044
 
 
7045
 
private:
7046
 
 
7047
 
#line 91 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7048
 
 
7049
 
    
7050
 
protected:
7051
 
  // this aspect should never be instantiated directly
7052
 
  PragmaOnce () {}
7053
 
};
7054
 
#line 7055 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7055
 
 
7056
 
namespace AC {
7057
 
  template <class JoinPoint>
7058
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp) {
7059
 
    ::PragmaOnce::aspectof()->__a0_after (tjp);
7060
 
  }
7061
 
  template <class JoinPoint>
7062
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp) {
7063
 
    ::PragmaOnce::aspectof()->__a1_after (tjp);
7064
 
  }
7065
 
  template <class JoinPoint, class Binding>
7066
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp) {
7067
 
    typedef typename Binding::template Arg<0> Arg0;
7068
 
    ::PragmaOnce::aspectof()->__a2_around (tjp, (Puma::Unit *)Arg0::val (tjp));
7069
 
  }
7070
 
  template <class JoinPoint>
7071
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp) {
7072
 
    ::PragmaOnce::aspectof()->__a3_after (tjp);
7073
 
  }
7074
 
7075
 
 
7076
 
#line 96 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7077
 
 
7078
 
 
7079
 
 
7080
 
#endif /* __PragmaOnce__ */
7081
 
 
7082
 
#line 6 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7083
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
7084
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
7085
 
 
7086
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7087
 
// This file is part of PUMA.
7088
 
// Copyright (C) 1999-2003  The PUMA developer team.
7089
 
//                                                                
7090
 
// This program is free software;  you can redistribute it and/or 
7091
 
// modify it under the terms of the GNU General Public License as 
7092
 
// published by the Free Software Foundation; either version 2 of 
7093
 
// the License, or (at your option) any later version.            
7094
 
//                                                                
7095
 
// This program is distributed in the hope that it will be useful,
7096
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
7097
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
7098
 
// GNU General Public License for more details.                   
7099
 
//                                                                
7100
 
// You should have received a copy of the GNU General Public      
7101
 
// License along with this program; if not, write to the Free     
7102
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
7103
 
// MA  02111-1307  USA                                            
7104
 
 
7105
 
#ifndef __preprocessor_parser__
7106
 
#define __preprocessor_parser__
7107
 
 
7108
 
// Preprocessor parser class. !!! The preprocessor parser has to 
7109
 
// be added last to the composite parser of a translation unit !!!
7110
 
 
7111
 
 
7112
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
7113
 
 
7114
 
#line 7115 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6508
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6509
 
 
6510
#line 6511 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
7115
6511
 
7116
6512
#ifndef __ac_fwd_ExtACKeywords__
7117
6513
#define __ac_fwd_ExtACKeywords__
7118
6514
class ExtACKeywords;
7119
6515
namespace AC {
7120
 
  template <class JoinPoint, class Binding>
7121
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
7122
 
  template <class JoinPoint, class Binding>
7123
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
7124
 
  template <class JoinPoint>
7125
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
6516
  template <class JoinPoint>
 
6517
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
6518
  template <class JoinPoint>
 
6519
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
6520
  template <class JoinPoint>
 
6521
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
7126
6522
}
7127
6523
#endif
7128
6524
 
7129
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7130
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6525
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6526
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7131
6527
#endif
7132
6528
 
7133
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6529
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7134
6530
// This file is part of PUMA.
7135
6531
// Copyright (C) 1999-2003  The PUMA developer team.
7136
6532
//                                                                
7167
6563
class Token;
7168
6564
 
7169
6565
 
7170
 
#line 7171 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6566
#line 6567 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
7171
6567
} // closed Puma
 
6568
class CCExprResolve;
 
6569
class CExprResolve;
7172
6570
class WinIfExists;
7173
6571
class WinImportHandler;
7174
6572
class WinMacros;
7175
 
class CMatchSyntax;
7176
 
class ExtGnu;
 
6573
class WinAsm;
 
6574
class WinDeclSpecs;
 
6575
class WinMemberExplSpec;
 
6576
class WinTypeKeywords;
 
6577
class WinFriend;
7177
6578
class ExtAC;
7178
6579
class ExtACBuilderCoupling;
7179
6580
class ExtACSyntaxCoupling;
7180
6581
class ExtACTree;
7181
6582
class ExtACKeywords;
7182
 
class WinAsm;
7183
 
class WinDeclSpecs;
7184
 
class WinMemberExplSpec;
7185
 
class WinTypeKeywords;
 
6583
class ExtGnu;
7186
6584
class PragmaOnceUnitState;
7187
6585
class PragmaOnce;
7188
 
class CCExprResolve;
7189
 
class CExprResolve;
 
6586
class CMatchSyntax;
7190
6587
namespace Puma {
7191
6588
 
7192
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6589
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7193
6590
class CScanner : public CRecognizer, public Tokenizer {
7194
 
#line 7195 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6591
#line 6592 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6592
  friend class ::CCExprResolve;
 
6593
  friend class ::CExprResolve;
7195
6594
  friend class ::WinIfExists;
7196
6595
  friend class ::WinImportHandler;
7197
6596
  friend class ::WinMacros;
7198
 
  friend class ::CMatchSyntax;
7199
 
  friend class ::ExtGnu;
 
6597
  friend class ::WinAsm;
 
6598
  friend class ::WinDeclSpecs;
 
6599
  friend class ::WinMemberExplSpec;
 
6600
  friend class ::WinTypeKeywords;
 
6601
  friend class ::WinFriend;
7200
6602
  friend class ::ExtAC;
7201
6603
  friend class ::ExtACBuilderCoupling;
7202
6604
  friend class ::ExtACSyntaxCoupling;
7203
6605
  friend class ::ExtACTree;
7204
6606
  friend class ::ExtACKeywords;
7205
 
  friend class ::WinAsm;
7206
 
  friend class ::WinDeclSpecs;
7207
 
  friend class ::WinMemberExplSpec;
7208
 
  friend class ::WinTypeKeywords;
 
6607
  friend class ::ExtGnu;
7209
6608
  friend class ::PragmaOnceUnitState;
7210
6609
  friend class ::PragmaOnce;
7211
 
  friend class ::CCExprResolve;
7212
 
  friend class ::CExprResolve;
 
6610
  friend class ::CMatchSyntax;
7213
6611
 
7214
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6612
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7215
6613
 
7216
6614
  Location loc;
7217
6615
  ErrorSink &err;
7226
6624
  virtual ~CScanner () {}
7227
6625
  void configure (const Config &);
7228
6626
  
7229
 
#line 7230 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7230
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
6627
#line 6628 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6628
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
7231
6629
 
7232
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6630
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7233
6631
void fill_unit (Source &in, Unit &unit);
7234
6632
  
7235
 
#line 7236 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7236
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
6633
#line 6634 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6634
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
7237
6635
 
7238
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6636
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7239
6637
void fill_unit (const char *in, Unit &unit);
7240
6638
};
7241
6639
 
7244
6642
 
7245
6643
#endif /* __c_scanner_h__ */
7246
6644
 
7247
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
6645
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
7248
6646
// This file is part of PUMA.
7249
6647
// Copyright (C) 1999-2003  The PUMA developer team.
7250
6648
//                                                                
7267
6665
#define __c_unit_h__
7268
6666
 
7269
6667
 
7270
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6668
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7271
6669
 
7272
 
#line 7273 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6670
#line 6671 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
7273
6671
 
7274
6672
#ifndef __ac_fwd_ExtACKeywords__
7275
6673
#define __ac_fwd_ExtACKeywords__
7276
6674
class ExtACKeywords;
7277
6675
namespace AC {
7278
 
  template <class JoinPoint, class Binding>
7279
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
7280
 
  template <class JoinPoint, class Binding>
7281
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
7282
 
  template <class JoinPoint>
7283
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
6676
  template <class JoinPoint>
 
6677
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
6678
  template <class JoinPoint>
 
6679
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
6680
  template <class JoinPoint>
 
6681
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
7284
6682
}
7285
6683
#endif
7286
6684
 
7287
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7288
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6685
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
6686
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
7289
6687
#endif
7290
6688
 
7291
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6689
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7292
6690
// This file is part of PUMA.
7293
6691
// Copyright (C) 1999-2003  The PUMA developer team.
7294
6692
//                                                                
7325
6723
class Token;
7326
6724
 
7327
6725
 
7328
 
#line 7329 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6726
#line 6727 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
7329
6727
} // closed Puma
 
6728
class CCExprResolve;
 
6729
class CExprResolve;
7330
6730
class WinIfExists;
7331
6731
class WinImportHandler;
7332
6732
class WinMacros;
7333
 
class CMatchSyntax;
7334
 
class ExtGnu;
 
6733
class WinAsm;
 
6734
class WinDeclSpecs;
 
6735
class WinMemberExplSpec;
 
6736
class WinTypeKeywords;
 
6737
class WinFriend;
7335
6738
class ExtAC;
7336
6739
class ExtACBuilderCoupling;
7337
6740
class ExtACSyntaxCoupling;
7338
6741
class ExtACTree;
7339
6742
class ExtACKeywords;
7340
 
class WinAsm;
7341
 
class WinDeclSpecs;
7342
 
class WinMemberExplSpec;
7343
 
class WinTypeKeywords;
 
6743
class ExtGnu;
7344
6744
class PragmaOnceUnitState;
7345
6745
class PragmaOnce;
7346
 
class CCExprResolve;
7347
 
class CExprResolve;
 
6746
class CMatchSyntax;
7348
6747
namespace Puma {
7349
6748
 
7350
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6749
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7351
6750
class CScanner : public CRecognizer, public Tokenizer {
7352
 
#line 7353 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6751
#line 6752 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6752
  friend class ::CCExprResolve;
 
6753
  friend class ::CExprResolve;
7353
6754
  friend class ::WinIfExists;
7354
6755
  friend class ::WinImportHandler;
7355
6756
  friend class ::WinMacros;
7356
 
  friend class ::CMatchSyntax;
7357
 
  friend class ::ExtGnu;
 
6757
  friend class ::WinAsm;
 
6758
  friend class ::WinDeclSpecs;
 
6759
  friend class ::WinMemberExplSpec;
 
6760
  friend class ::WinTypeKeywords;
 
6761
  friend class ::WinFriend;
7358
6762
  friend class ::ExtAC;
7359
6763
  friend class ::ExtACBuilderCoupling;
7360
6764
  friend class ::ExtACSyntaxCoupling;
7361
6765
  friend class ::ExtACTree;
7362
6766
  friend class ::ExtACKeywords;
7363
 
  friend class ::WinAsm;
7364
 
  friend class ::WinDeclSpecs;
7365
 
  friend class ::WinMemberExplSpec;
7366
 
  friend class ::WinTypeKeywords;
 
6767
  friend class ::ExtGnu;
7367
6768
  friend class ::PragmaOnceUnitState;
7368
6769
  friend class ::PragmaOnce;
7369
 
  friend class ::CCExprResolve;
7370
 
  friend class ::CExprResolve;
 
6770
  friend class ::CMatchSyntax;
7371
6771
 
7372
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6772
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7373
6773
 
7374
6774
  Location loc;
7375
6775
  ErrorSink &err;
7384
6784
  virtual ~CScanner () {}
7385
6785
  void configure (const Config &);
7386
6786
  
7387
 
#line 7388 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7388
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
6787
#line 6788 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6788
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
7389
6789
 
7390
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6790
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7391
6791
void fill_unit (Source &in, Unit &unit);
7392
6792
  
7393
 
#line 7394 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7394
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
6793
#line 6794 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6794
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
7395
6795
 
7396
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
6796
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
7397
6797
void fill_unit (const char *in, Unit &unit);
7398
6798
};
7399
6799
 
7402
6802
 
7403
6803
#endif /* __c_scanner_h__ */
7404
6804
 
7405
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
6805
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
7406
6806
using namespace std;
7407
6807
 
7408
6808
namespace Puma {
7409
6809
 
7410
6810
 
7411
6811
 
7412
 
#line 7413 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6812
#line 6813 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
7413
6813
} // closed Puma
 
6814
class CCExprResolve;
 
6815
class CExprResolve;
7414
6816
class WinIfExists;
7415
6817
class WinImportHandler;
7416
6818
class WinMacros;
7417
 
class CMatchSyntax;
7418
 
class ExtGnu;
 
6819
class WinAsm;
 
6820
class WinDeclSpecs;
 
6821
class WinMemberExplSpec;
 
6822
class WinTypeKeywords;
 
6823
class WinFriend;
7419
6824
class ExtAC;
7420
6825
class ExtACBuilderCoupling;
7421
6826
class ExtACSyntaxCoupling;
7422
6827
class ExtACTree;
7423
6828
class ExtACKeywords;
7424
 
class WinAsm;
7425
 
class WinDeclSpecs;
7426
 
class WinMemberExplSpec;
7427
 
class WinTypeKeywords;
 
6829
class ExtGnu;
7428
6830
class PragmaOnceUnitState;
7429
6831
class PragmaOnce;
7430
 
class CCExprResolve;
7431
 
class CExprResolve;
 
6832
class CMatchSyntax;
7432
6833
namespace Puma {
7433
6834
 
7434
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
6835
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
7435
6836
class CUnit : public Unit, public std::ostringstream {
7436
 
#line 7437 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6837
#line 6838 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6838
  friend class ::CCExprResolve;
 
6839
  friend class ::CExprResolve;
7437
6840
  friend class ::WinIfExists;
7438
6841
  friend class ::WinImportHandler;
7439
6842
  friend class ::WinMacros;
7440
 
  friend class ::CMatchSyntax;
7441
 
  friend class ::ExtGnu;
 
6843
  friend class ::WinAsm;
 
6844
  friend class ::WinDeclSpecs;
 
6845
  friend class ::WinMemberExplSpec;
 
6846
  friend class ::WinTypeKeywords;
 
6847
  friend class ::WinFriend;
7442
6848
  friend class ::ExtAC;
7443
6849
  friend class ::ExtACBuilderCoupling;
7444
6850
  friend class ::ExtACSyntaxCoupling;
7445
6851
  friend class ::ExtACTree;
7446
6852
  friend class ::ExtACKeywords;
7447
 
  friend class ::WinAsm;
7448
 
  friend class ::WinDeclSpecs;
7449
 
  friend class ::WinMemberExplSpec;
7450
 
  friend class ::WinTypeKeywords;
 
6853
  friend class ::ExtGnu;
7451
6854
  friend class ::PragmaOnceUnitState;
7452
6855
  friend class ::PragmaOnce;
7453
 
  friend class ::CCExprResolve;
7454
 
  friend class ::CExprResolve;
 
6856
  friend class ::CMatchSyntax;
7455
6857
 
7456
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CUnit.h"
 
6858
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CUnit.h"
7457
6859
 
7458
6860
  CScanner _scanner;
7459
6861
 
7475
6877
 
7476
6878
#endif /* __c_unit_h__ */
7477
6879
 
7478
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
6880
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
7479
6881
// This file is part of PUMA.
7480
6882
// Copyright (C) 1999-2003  The PUMA developer team.
7481
6883
//                                                                
7501
6903
// all macros of a given string or unit.
7502
6904
 
7503
6905
 
7504
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
6906
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
7505
6907
using std::set;
7506
6908
 
7507
6909
 
7508
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
6910
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
7509
6911
// This file is part of PUMA.
7510
6912
// Copyright (C) 1999-2003  The PUMA developer team.
7511
6913
//                                                                
7528
6930
#define __pre_arg_desc__
7529
6931
 
7530
6932
 
7531
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
6933
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
7532
6934
// This file is part of PUMA.
7533
6935
// Copyright (C) 1999-2003  The PUMA developer team.
7534
6936
//                                                                
7553
6955
// Special unit for macro expansions
7554
6956
 
7555
6957
 
7556
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
6958
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
7557
6959
namespace Puma {
7558
6960
 
7559
6961
 
7560
6962
 
7561
 
#line 7562 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6963
#line 6964 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
7562
6964
} // closed Puma
 
6965
class CCExprResolve;
 
6966
class CExprResolve;
7563
6967
class WinIfExists;
7564
6968
class WinImportHandler;
7565
6969
class WinMacros;
7566
 
class CMatchSyntax;
7567
 
class ExtGnu;
 
6970
class WinAsm;
 
6971
class WinDeclSpecs;
 
6972
class WinMemberExplSpec;
 
6973
class WinTypeKeywords;
 
6974
class WinFriend;
7568
6975
class ExtAC;
7569
6976
class ExtACBuilderCoupling;
7570
6977
class ExtACSyntaxCoupling;
7571
6978
class ExtACTree;
7572
6979
class ExtACKeywords;
7573
 
class WinAsm;
7574
 
class WinDeclSpecs;
7575
 
class WinMemberExplSpec;
7576
 
class WinTypeKeywords;
 
6980
class ExtGnu;
7577
6981
class PragmaOnceUnitState;
7578
6982
class PragmaOnce;
7579
 
class CCExprResolve;
7580
 
class CExprResolve;
 
6983
class CMatchSyntax;
7581
6984
namespace Puma {
7582
6985
 
7583
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
6986
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
7584
6987
class MacroUnit : public Unit {
7585
 
#line 7586 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6988
#line 6989 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
6989
  friend class ::CCExprResolve;
 
6990
  friend class ::CExprResolve;
7586
6991
  friend class ::WinIfExists;
7587
6992
  friend class ::WinImportHandler;
7588
6993
  friend class ::WinMacros;
7589
 
  friend class ::CMatchSyntax;
7590
 
  friend class ::ExtGnu;
 
6994
  friend class ::WinAsm;
 
6995
  friend class ::WinDeclSpecs;
 
6996
  friend class ::WinMemberExplSpec;
 
6997
  friend class ::WinTypeKeywords;
 
6998
  friend class ::WinFriend;
7591
6999
  friend class ::ExtAC;
7592
7000
  friend class ::ExtACBuilderCoupling;
7593
7001
  friend class ::ExtACSyntaxCoupling;
7594
7002
  friend class ::ExtACTree;
7595
7003
  friend class ::ExtACKeywords;
7596
 
  friend class ::WinAsm;
7597
 
  friend class ::WinDeclSpecs;
7598
 
  friend class ::WinMemberExplSpec;
7599
 
  friend class ::WinTypeKeywords;
 
7004
  friend class ::ExtGnu;
7600
7005
  friend class ::PragmaOnceUnitState;
7601
7006
  friend class ::PragmaOnce;
7602
 
  friend class ::CCExprResolve;
7603
 
  friend class ::CExprResolve;
 
7007
  friend class ::CMatchSyntax;
7604
7008
 
7605
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
 
7009
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/MacroUnit.h"
7606
7010
 
7607
7011
  Unit *_CallingUnit;
7608
7012
  Token *_StartToken;
7639
7043
 
7640
7044
#endif /* __MacroUnit__ */
7641
7045
 
7642
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
7046
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
7643
7047
namespace Puma {
7644
7048
 
7645
7049
 
7646
7050
 
7647
 
#line 7648 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7051
#line 7052 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
7648
7052
} // closed Puma
 
7053
class CCExprResolve;
 
7054
class CExprResolve;
7649
7055
class WinIfExists;
7650
7056
class WinImportHandler;
7651
7057
class WinMacros;
7652
 
class CMatchSyntax;
7653
 
class ExtGnu;
 
7058
class WinAsm;
 
7059
class WinDeclSpecs;
 
7060
class WinMemberExplSpec;
 
7061
class WinTypeKeywords;
 
7062
class WinFriend;
7654
7063
class ExtAC;
7655
7064
class ExtACBuilderCoupling;
7656
7065
class ExtACSyntaxCoupling;
7657
7066
class ExtACTree;
7658
7067
class ExtACKeywords;
7659
 
class WinAsm;
7660
 
class WinDeclSpecs;
7661
 
class WinMemberExplSpec;
7662
 
class WinTypeKeywords;
 
7068
class ExtGnu;
7663
7069
class PragmaOnceUnitState;
7664
7070
class PragmaOnce;
7665
 
class CCExprResolve;
7666
 
class CExprResolve;
 
7071
class CMatchSyntax;
7667
7072
namespace Puma {
7668
7073
 
7669
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
7074
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
7670
7075
class PreArgDesc {
7671
 
#line 7672 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7076
#line 7077 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7077
  friend class ::CCExprResolve;
 
7078
  friend class ::CExprResolve;
7672
7079
  friend class ::WinIfExists;
7673
7080
  friend class ::WinImportHandler;
7674
7081
  friend class ::WinMacros;
7675
 
  friend class ::CMatchSyntax;
7676
 
  friend class ::ExtGnu;
 
7082
  friend class ::WinAsm;
 
7083
  friend class ::WinDeclSpecs;
 
7084
  friend class ::WinMemberExplSpec;
 
7085
  friend class ::WinTypeKeywords;
 
7086
  friend class ::WinFriend;
7677
7087
  friend class ::ExtAC;
7678
7088
  friend class ::ExtACBuilderCoupling;
7679
7089
  friend class ::ExtACSyntaxCoupling;
7680
7090
  friend class ::ExtACTree;
7681
7091
  friend class ::ExtACKeywords;
7682
 
  friend class ::WinAsm;
7683
 
  friend class ::WinDeclSpecs;
7684
 
  friend class ::WinMemberExplSpec;
7685
 
  friend class ::WinTypeKeywords;
 
7092
  friend class ::ExtGnu;
7686
7093
  friend class ::PragmaOnceUnitState;
7687
7094
  friend class ::PragmaOnce;
7688
 
  friend class ::CCExprResolve;
7689
 
  friend class ::CExprResolve;
 
7095
  friend class ::CMatchSyntax;
7690
7096
 
7691
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
 
7097
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreArgDesc.h"
7692
7098
 
7693
7099
  // Collected arguments of a function-like macro.
7694
7100
  Array<MacroUnit> m_Args;
7717
7123
 
7718
7124
#endif /* __pre_arg_desc__ */
7719
7125
 
7720
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
7126
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
7721
7127
namespace Puma {
7722
7128
 
7723
7129
 
7730
7136
class PreMacro;
7731
7137
 
7732
7138
 
7733
 
#line 7734 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7139
#line 7140 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
7734
7140
} // closed Puma
 
7141
class CCExprResolve;
 
7142
class CExprResolve;
7735
7143
class WinIfExists;
7736
7144
class WinImportHandler;
7737
7145
class WinMacros;
7738
 
class CMatchSyntax;
7739
 
class ExtGnu;
 
7146
class WinAsm;
 
7147
class WinDeclSpecs;
 
7148
class WinMemberExplSpec;
 
7149
class WinTypeKeywords;
 
7150
class WinFriend;
7740
7151
class ExtAC;
7741
7152
class ExtACBuilderCoupling;
7742
7153
class ExtACSyntaxCoupling;
7743
7154
class ExtACTree;
7744
7155
class ExtACKeywords;
7745
 
class WinAsm;
7746
 
class WinDeclSpecs;
7747
 
class WinMemberExplSpec;
7748
 
class WinTypeKeywords;
 
7156
class ExtGnu;
7749
7157
class PragmaOnceUnitState;
7750
7158
class PragmaOnce;
7751
 
class CCExprResolve;
7752
 
class CExprResolve;
 
7159
class CMatchSyntax;
7753
7160
namespace Puma {
7754
7161
 
7755
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
7162
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
7756
7163
class PreMacroExpander {
7757
 
#line 7758 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7164
#line 7165 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7165
  friend class ::CCExprResolve;
 
7166
  friend class ::CExprResolve;
7758
7167
  friend class ::WinIfExists;
7759
7168
  friend class ::WinImportHandler;
7760
7169
  friend class ::WinMacros;
7761
 
  friend class ::CMatchSyntax;
7762
 
  friend class ::ExtGnu;
 
7170
  friend class ::WinAsm;
 
7171
  friend class ::WinDeclSpecs;
 
7172
  friend class ::WinMemberExplSpec;
 
7173
  friend class ::WinTypeKeywords;
 
7174
  friend class ::WinFriend;
7763
7175
  friend class ::ExtAC;
7764
7176
  friend class ::ExtACBuilderCoupling;
7765
7177
  friend class ::ExtACSyntaxCoupling;
7766
7178
  friend class ::ExtACTree;
7767
7179
  friend class ::ExtACKeywords;
7768
 
  friend class ::WinAsm;
7769
 
  friend class ::WinDeclSpecs;
7770
 
  friend class ::WinMemberExplSpec;
7771
 
  friend class ::WinTypeKeywords;
 
7180
  friend class ::ExtGnu;
7772
7181
  friend class ::PragmaOnceUnitState;
7773
7182
  friend class ::PragmaOnce;
7774
 
  friend class ::CCExprResolve;
7775
 
  friend class ::CExprResolve;
 
7183
  friend class ::CMatchSyntax;
7776
7184
 
7777
 
#line 43 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
 
7185
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreMacroExpander.h"
7778
7186
 
7779
7187
  TokenStream        *_scanner;
7780
7188
  PreMacroManager    *_macroManager;
7839
7247
  // Push unit on token stream.
7840
7248
  void pushUnit (TokenStream &, Unit *) const;
7841
7249
 
 
7250
  // Get the next non-whitespace non-comment token
 
7251
  Token* nextPreprocessingToken (Token*, Unit*) const;
 
7252
 
 
7253
  // Get the previous non-whitespace non-comment token
 
7254
  Token* prevPreprocessingToken (Token*, Unit*) const;
 
7255
 
 
7256
  // Check if the given unit contains only spaces and comments.
 
7257
  bool onlySpacesAndComments (MacroUnit&) const;
 
7258
 
7842
7259
public:
7843
7260
  // Special constructor. Call reset() before using the expander.
7844
7261
  PreMacroExpander ();
7865
7282
 
7866
7283
#endif /* __pre_macro_expander__ */
7867
7284
 
7868
 
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7285
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7869
7286
using namespace std;
7870
7287
 
7871
7288
namespace Puma {
7882
7299
class PrePredicateManager;
7883
7300
 
7884
7301
 
7885
 
#line 7886 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
7886
 
} // closed Puma
7887
 
class WinIfExists;
7888
 
class WinImportHandler;
7889
 
class WinMacros;
7890
 
class CMatchSyntax;
7891
 
class ExtGnu;
7892
 
class ExtAC;
7893
 
class ExtACBuilderCoupling;
7894
 
class ExtACSyntaxCoupling;
7895
 
class ExtACTree;
7896
 
class ExtACKeywords;
7897
 
class WinAsm;
7898
 
class WinDeclSpecs;
7899
 
class WinMemberExplSpec;
7900
 
class WinTypeKeywords;
7901
 
class PragmaOnceUnitState;
7902
 
class PragmaOnce;
7903
 
class CCExprResolve;
7904
 
class CExprResolve;
7905
 
namespace Puma {
7906
 
 
7907
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7302
#line 7303 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7303
} // closed Puma
 
7304
class CCExprResolve;
 
7305
class CExprResolve;
 
7306
class WinIfExists;
 
7307
class WinImportHandler;
 
7308
class WinMacros;
 
7309
class WinAsm;
 
7310
class WinDeclSpecs;
 
7311
class WinMemberExplSpec;
 
7312
class WinTypeKeywords;
 
7313
class WinFriend;
 
7314
class ExtAC;
 
7315
class ExtACBuilderCoupling;
 
7316
class ExtACSyntaxCoupling;
 
7317
class ExtACTree;
 
7318
class ExtACKeywords;
 
7319
class ExtGnu;
 
7320
class PragmaOnceUnitState;
 
7321
class PragmaOnce;
 
7322
class CMatchSyntax;
 
7323
namespace Puma {
 
7324
 
 
7325
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7326
 
 
7327
#line 7328 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7328
} // closed Puma
 
7329
 
 
7330
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
7331
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
7332
 
 
7333
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7334
// This file is part of PUMA.
 
7335
// Copyright (C) 1999-2003  The PUMA developer team.
 
7336
//                                                                
 
7337
// This program is free software;  you can redistribute it and/or 
 
7338
// modify it under the terms of the GNU General Public License as 
 
7339
// published by the Free Software Foundation; either version 2 of 
 
7340
// the License, or (at your option) any later version.            
 
7341
//                                                                
 
7342
// This program is distributed in the hope that it will be useful,
 
7343
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
7344
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
7345
// GNU General Public License for more details.                   
 
7346
//                                                                
 
7347
// You should have received a copy of the GNU General Public      
 
7348
// License along with this program; if not, write to the Free     
 
7349
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
7350
// MA  02111-1307  USA                                            
 
7351
 
 
7352
#ifndef __WinIfExists__
 
7353
#define __WinIfExists__
 
7354
 
 
7355
/********************************************************/
 
7356
/* Win __if_exists and __if_not_exists support aspect   */
 
7357
/********************************************************/
 
7358
 
 
7359
 
 
7360
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7361
namespace Puma {
 
7362
  
 
7363
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7364
 
 
7365
}
 
7366
 
 
7367
 
 
7368
#line 7369 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7369
class CCExprResolve;
 
7370
class CExprResolve;
 
7371
class WinImportHandler;
 
7372
class WinMacros;
 
7373
class WinAsm;
 
7374
class WinDeclSpecs;
 
7375
class WinMemberExplSpec;
 
7376
class WinTypeKeywords;
 
7377
class WinFriend;
 
7378
class ExtAC;
 
7379
class ExtACBuilderCoupling;
 
7380
class ExtACSyntaxCoupling;
 
7381
class ExtACTree;
 
7382
class ExtACKeywords;
 
7383
class ExtGnu;
 
7384
class PragmaOnceUnitState;
 
7385
class PragmaOnce;
 
7386
class CMatchSyntax;
 
7387
 
 
7388
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7389
class WinIfExists {
 
7390
#line 7391 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7391
 
 
7392
public:
 
7393
  static WinIfExists *aspectof () {
 
7394
    static WinIfExists __instance;
 
7395
    return &__instance;
 
7396
  }
 
7397
  static WinIfExists *aspectOf () {
 
7398
    return aspectof ();
 
7399
  }
 
7400
private:
 
7401
 
 
7402
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7403
 
 
7404
#line 7405 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7405
  friend class ::CCExprResolve;
 
7406
  friend class ::CExprResolve;
 
7407
  friend class ::WinImportHandler;
 
7408
  friend class ::WinMacros;
 
7409
  friend class ::WinAsm;
 
7410
  friend class ::WinDeclSpecs;
 
7411
  friend class ::WinMemberExplSpec;
 
7412
  friend class ::WinTypeKeywords;
 
7413
  friend class ::WinFriend;
 
7414
  friend class ::ExtAC;
 
7415
  friend class ::ExtACBuilderCoupling;
 
7416
  friend class ::ExtACSyntaxCoupling;
 
7417
  friend class ::ExtACTree;
 
7418
  friend class ::ExtACKeywords;
 
7419
  friend class ::ExtGnu;
 
7420
  friend class ::PragmaOnceUnitState;
 
7421
  friend class ::PragmaOnce;
 
7422
  friend class ::CMatchSyntax;
 
7423
 
 
7424
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7425
 
 
7426
  /********************************************************/
 
7427
  /* Win __if_exists and __if_not_exists                  */
 
7428
  /********************************************************/
 
7429
 
 
7430
  // pointcut definitions
 
7431
  
 
7432
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7433
 
 
7434
 
 
7435
  // structural extensions
 
7436
  
 
7437
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7438
 
 
7439
 
 
7440
  // preprocess __if_exists and __if_not_exists statements
 
7441
  
 
7442
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7443
 
 
7444
public: template<class JoinPoint> void __a0_around 
 
7445
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7446
 
 
7447
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7448
(JoinPoint *tjp)
 
7449
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7450
 {
 
7451
#line 7452 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7452
 
 
7453
  JoinPoint *&thisJoinPoint = tjp;
 
7454
 
 
7455
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7456
 
 
7457
#line 7458 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7458
 
 
7459
  typedef typename JoinPoint::That __JP_That;
 
7460
  typedef typename JoinPoint::Target __JP_Target;
 
7461
  typedef typename JoinPoint::Result __JP_Result;
 
7462
 
 
7463
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7464
 
 
7465
    Puma::Token *token;
 
7466
    int type;
 
7467
    __JP_That
 
7468
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7469
 *preparser;
 
7470
  
 
7471
    preparser = tjp->that ();
 
7472
    tjp->proceed (); // get the next token
 
7473
    token = *tjp->result ();
 
7474
    if (token) {
 
7475
      type = token->type ();
 
7476
      // __if_exists (...) { ... }
 
7477
      if (type == Puma::TOK_IF_EXISTS) {
 
7478
        preparser->skip_up_to (Puma::TOK_CLOSE_CURLY);
 
7479
        *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
7480
        return;
 
7481
        // __if_not_exists (...) { ... }
 
7482
      } else if (type == Puma::TOK_IF_NOT_EXISTS) {
 
7483
        preparser->skip_up_to (Puma::TOK_OPEN_CURLY);
 
7484
        preparser->_depth.push (1);
 
7485
        *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
7486
        return;
 
7487
      }
 
7488
      // skip closing `}' of __if_not_exists
 
7489
      if (preparser->_depth.length ()) {
 
7490
        if (type == Puma::TOK_OPEN_CURLY) 
 
7491
          preparser->_depth.top () = preparser->_depth.top () + 1;
 
7492
        else if (type == Puma::TOK_CLOSE_CURLY) { 
 
7493
          preparser->_depth.top () = preparser->_depth.top () - 1;
 
7494
          if (preparser->_depth.top () == 0) {
 
7495
            preparser->_depth.pop ();
 
7496
            *(Puma::Token**)thisJoinPoint->result () = preparser->next ();
 
7497
            return;
 
7498
          }
 
7499
        }
 
7500
      }
 
7501
    }
 
7502
  }
 
7503
#line 7504 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7504
 
 
7505
private:
 
7506
 
 
7507
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7508
 
 
7509
 
 
7510
protected:
 
7511
  WinIfExists () {}
 
7512
};
 
7513
#line 7514 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7514
 
 
7515
namespace AC {
 
7516
  template <class JoinPoint>
 
7517
  __attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp) {
 
7518
    ::WinIfExists::aspectof()->__a0_around (tjp);
 
7519
  }
 
7520
 
7521
 
 
7522
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7523
 
 
7524
 
 
7525
namespace Puma {
 
7526
  
 
7527
#line 95 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7528
 
 
7529
    
 
7530
  // skip __if_exists resp. __if_not_exists statement
 
7531
  
 
7532
#line 135 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7533
 
 
7534
}
 
7535
 
 
7536
#endif /* __WinIfExists__ */
 
7537
 
 
7538
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7539
#endif
 
7540
namespace Puma {
 
7541
 
 
7542
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7543
 
 
7544
#line 7545 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7545
} // closed Puma
 
7546
 
 
7547
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
7548
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
7549
 
 
7550
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7551
// This file is part of PUMA.
 
7552
// Copyright (C) 1999-2003  The PUMA developer team.
 
7553
//                                                                
 
7554
// This program is free software;  you can redistribute it and/or 
 
7555
// modify it under the terms of the GNU General Public License as 
 
7556
// published by the Free Software Foundation; either version 2 of 
 
7557
// the License, or (at your option) any later version.            
 
7558
//                                                                
 
7559
// This program is distributed in the hope that it will be useful,
 
7560
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
7561
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
7562
// GNU General Public License for more details.                   
 
7563
//                                                                
 
7564
// You should have received a copy of the GNU General Public      
 
7565
// License along with this program; if not, write to the Free     
 
7566
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
7567
// MA  02111-1307  USA                                            
 
7568
 
 
7569
#ifndef __PragmaOnce__
 
7570
#define __PragmaOnce__
 
7571
 
 
7572
/********************************************************/
 
7573
/* Win #pragma once support aspect                      */
 
7574
/********************************************************/
 
7575
 
 
7576
 
 
7577
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7578
#include <string.h>
 
7579
 
 
7580
 
 
7581
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7582
 
 
7583
#line 7584 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7584
class CCExprResolve;
 
7585
class CExprResolve;
 
7586
class WinIfExists;
 
7587
class WinImportHandler;
 
7588
class WinMacros;
 
7589
class WinAsm;
 
7590
class WinDeclSpecs;
 
7591
class WinMemberExplSpec;
 
7592
class WinTypeKeywords;
 
7593
class WinFriend;
 
7594
class ExtAC;
 
7595
class ExtACBuilderCoupling;
 
7596
class ExtACSyntaxCoupling;
 
7597
class ExtACTree;
 
7598
class ExtACKeywords;
 
7599
class ExtGnu;
 
7600
class PragmaOnceUnitState;
 
7601
class CMatchSyntax;
 
7602
 
 
7603
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7604
class PragmaOnce {
 
7605
#line 7606 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7606
 
 
7607
public:
 
7608
  static PragmaOnce *aspectof () {
 
7609
    static PragmaOnce __instance;
 
7610
    return &__instance;
 
7611
  }
 
7612
  static PragmaOnce *aspectOf () {
 
7613
    return aspectof ();
 
7614
  }
 
7615
private:
 
7616
 
 
7617
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7618
 
 
7619
#line 7620 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7620
  friend class ::CCExprResolve;
 
7621
  friend class ::CExprResolve;
 
7622
  friend class ::WinIfExists;
 
7623
  friend class ::WinImportHandler;
 
7624
  friend class ::WinMacros;
 
7625
  friend class ::WinAsm;
 
7626
  friend class ::WinDeclSpecs;
 
7627
  friend class ::WinMemberExplSpec;
 
7628
  friend class ::WinTypeKeywords;
 
7629
  friend class ::WinFriend;
 
7630
  friend class ::ExtAC;
 
7631
  friend class ::ExtACBuilderCoupling;
 
7632
  friend class ::ExtACSyntaxCoupling;
 
7633
  friend class ::ExtACTree;
 
7634
  friend class ::ExtACKeywords;
 
7635
  friend class ::ExtGnu;
 
7636
  friend class ::PragmaOnceUnitState;
 
7637
  friend class ::CMatchSyntax;
 
7638
 
 
7639
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7640
 
 
7641
  /******************************************************/
 
7642
  /* detect #pragma once in the token stream of cpp     */
 
7643
  /******************************************************/
 
7644
 
 
7645
  // pointcut definitions
 
7646
  
 
7647
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7648
 
 
7649
  
 
7650
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7651
 
 
7652
  
 
7653
  // extend the preprocessor parser by the filter state
 
7654
  
 
7655
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7656
 
 
7657
 
 
7658
  // initialize the filter state
 
7659
  
 
7660
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7661
 
 
7662
public: template<class JoinPoint> void __a0_after 
 
7663
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7664
 
 
7665
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7666
(JoinPoint *tjp)
 
7667
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7668
 {
 
7669
#line 7670 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7670
 
 
7671
  typedef typename JoinPoint::That __JP_That;
 
7672
  typedef typename JoinPoint::Target __JP_Target;
 
7673
  typedef typename JoinPoint::Result __JP_Result;
 
7674
 
 
7675
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7676
 
 
7677
    // TODO: it would be better to have construction advice -> but in lem file
 
7678
    tjp->that ()->_pragma_token = 0;
 
7679
  }
 
7680
#line 7681 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7681
 
 
7682
private:
 
7683
 
 
7684
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7685
 
 
7686
  
 
7687
  // filter #pragma once
 
7688
  
 
7689
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7690
 
 
7691
public: template<class JoinPoint> void __a1_after 
 
7692
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7693
 
 
7694
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7695
(JoinPoint *tjp)
 
7696
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7697
 {
 
7698
#line 7699 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7699
 
 
7700
  typedef typename JoinPoint::That __JP_That;
 
7701
  typedef typename JoinPoint::Target __JP_Target;
 
7702
  typedef typename JoinPoint::Result __JP_Result;
 
7703
 
 
7704
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7705
 
 
7706
    Puma::Token *tok = *tjp->result ();
 
7707
    __JP_That
 
7708
#line 55 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7709
 &that = *tjp->that ();
 
7710
    if (!tok || !tok->is_directive ()) {
 
7711
      that._pragma_token = 0;
 
7712
      return;
 
7713
    }
 
7714
    if (strcmp ("#pragma", tok->text ()) == 0) {
 
7715
      that._pragma_token = tok;
 
7716
    }
 
7717
    else if (that._pragma_token && strcmp ("once", tok->text ()) == 0) {
 
7718
      Puma::Unit *unit = (Puma::Unit*)tok->belonging_to ();
 
7719
      assert (unit);
 
7720
      unit->state ().onlyOnce (true);
 
7721
    }
 
7722
  }
 
7723
#line 7724 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7724
 
 
7725
private:
 
7726
 
 
7727
#line 68 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7728
 
 
7729
  
 
7730
  /********************************************************/
 
7731
  /* block the handling of pragma once files              */
 
7732
  /********************************************************/
 
7733
 
 
7734
  // don't let file includer include files twice
 
7735
  // to be precise: the file is included again, but the inclusion produces
 
7736
  // no tokens
 
7737
  
 
7738
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7739
 
 
7740
public: template<class JoinPoint> void __a2_around 
 
7741
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7742
 
 
7743
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7744
(JoinPoint *tjp, Puma::Unit *unit)
 
7745
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7746
 {
 
7747
#line 7748 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7748
 
 
7749
  typedef typename JoinPoint::That __JP_That;
 
7750
  typedef typename JoinPoint::Target __JP_Target;
 
7751
  typedef typename JoinPoint::Result __JP_Result;
 
7752
 
 
7753
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7754
 
 
7755
    if (! unit || ! unit->state ().onlyOnce ())
 
7756
      tjp->proceed ();
 
7757
  }
 
7758
#line 7759 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7759
 
 
7760
private:
 
7761
 
 
7762
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7763
 
 
7764
 
 
7765
  // includeFile shall return 0 if the file was not included
 
7766
  
 
7767
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7768
 
 
7769
public: template<class JoinPoint> void __a3_after 
 
7770
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7771
 
 
7772
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7773
(JoinPoint *tjp)
 
7774
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7775
 {
 
7776
#line 7777 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7777
 
 
7778
  typedef typename JoinPoint::That __JP_That;
 
7779
  typedef typename JoinPoint::Target __JP_Target;
 
7780
  typedef typename JoinPoint::Result __JP_Result;
 
7781
 
 
7782
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7783
 
 
7784
    Puma::Unit *&unit = *tjp->result ();
 
7785
    if (unit && unit->state ().onlyOnce ())
 
7786
      //unit = 0;
 
7787
      tjp->that ()->_guarded = true;
 
7788
  }
 
7789
#line 7790 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7790
 
 
7791
private:
 
7792
 
 
7793
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7794
 
 
7795
    
 
7796
protected:
 
7797
  // this aspect should never be instantiated directly
 
7798
  PragmaOnce () {}
 
7799
};
 
7800
#line 7801 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7801
 
 
7802
namespace AC {
 
7803
  template <class JoinPoint>
 
7804
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp) {
 
7805
    ::PragmaOnce::aspectof()->__a0_after (tjp);
 
7806
  }
 
7807
  template <class JoinPoint>
 
7808
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp) {
 
7809
    ::PragmaOnce::aspectof()->__a1_after (tjp);
 
7810
  }
 
7811
  template <class JoinPoint>
 
7812
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp) {
 
7813
    typedef typename JoinPoint::Binding_PragmaOnce_PragmaOnce_a2_around::template Arg<0> Arg0;
 
7814
    ::PragmaOnce::aspectof()->__a2_around (tjp, (Puma::Unit *)Arg0::val (tjp));
 
7815
  }
 
7816
  template <class JoinPoint>
 
7817
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp) {
 
7818
    ::PragmaOnce::aspectof()->__a3_after (tjp);
 
7819
  }
 
7820
 
7821
 
 
7822
#line 96 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7823
 
 
7824
 
 
7825
 
 
7826
#endif /* __PragmaOnce__ */
 
7827
 
 
7828
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7829
#endif
 
7830
namespace Puma {
 
7831
 
 
7832
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7908
7833
class PreprocessorParser : public PumaTokenSource {
7909
 
#line 7910 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7834
#line 7835 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7835
  friend class ::CCExprResolve;
 
7836
  friend class ::CExprResolve;
7910
7837
  friend class ::WinIfExists;
7911
7838
  friend class ::WinImportHandler;
7912
7839
  friend class ::WinMacros;
7913
 
  friend class ::CMatchSyntax;
7914
 
  friend class ::ExtGnu;
 
7840
  friend class ::WinAsm;
 
7841
  friend class ::WinDeclSpecs;
 
7842
  friend class ::WinMemberExplSpec;
 
7843
  friend class ::WinTypeKeywords;
 
7844
  friend class ::WinFriend;
7915
7845
  friend class ::ExtAC;
7916
7846
  friend class ::ExtACBuilderCoupling;
7917
7847
  friend class ::ExtACSyntaxCoupling;
7918
7848
  friend class ::ExtACTree;
7919
7849
  friend class ::ExtACKeywords;
7920
 
  friend class ::WinAsm;
7921
 
  friend class ::WinDeclSpecs;
7922
 
  friend class ::WinMemberExplSpec;
7923
 
  friend class ::WinTypeKeywords;
 
7850
  friend class ::ExtGnu;
7924
7851
  friend class ::PragmaOnceUnitState;
7925
7852
  friend class ::PragmaOnce;
7926
 
  friend class ::CCExprResolve;
7927
 
  friend class ::CExprResolve;
 
7853
  friend class ::CMatchSyntax;
7928
7854
 
7929
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7855
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7930
7856
 
7931
7857
public:
7932
7858
  // The current mode for token preprocessing
7986
7912
  PreLevelState       *levelState () const       { return _levelState; }
7987
7913
  PreParserState      *parserState () const      { return _parserState; }
7988
7914
  PreMacroManager     *macroManager () const     { return _macroManager; }
 
7915
  void macroManager   (PreMacroManager *m)       { _macroManager = m; }
7989
7916
  PreFileIncluder     *fileIncluder () const     { return _fileIncluder; }
7990
7917
  PrePredicateManager *predicateManager () const { return _predicateManager; }
7991
7918
  UnitManager         *unitManager () const      { return _unitManager; }
7993
7920
  PreMode              pre_mode () const         { return _pre_mode; } 
7994
7921
  bool                 supportGNU () const       { return _support_gnu; }
7995
7922
  CScanner            &cscanner () const         { return (CScanner&) _scanner; }
 
7923
  const char          *importHandler () const    { return _importHandler; }
7996
7924
 
7997
7925
  // Return the preprocessor syntax tree.
7998
7926
  PreTree *syntaxTree () const;
8012
7940
        
8013
7941
  // Configure the preprocessor.
8014
7942
  
8015
 
#line 8016 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8016
 
public: inline void __exec_old_configure(const ::Puma::Config & ,bool );
 
7943
#line 7944 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7944
public: __attribute__((always_inline)) inline void __exec_old_configure(const ::Puma::Config & ,bool );
8017
7945
 
8018
 
#line 132 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7946
#line 134 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8019
7947
void configure (const Config &, bool = true);
8020
7948
        
8021
7949
  // Get the next token to parse.
8022
7950
  
8023
 
#line 8024 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8024
 
public: inline ::Puma::Token * __exec_old_next();
 
7951
#line 7952 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
7952
public: __attribute__((always_inline)) inline ::Puma::Token * __exec_old_next();
8025
7953
 
8026
 
#line 135 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7954
#line 137 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8027
7955
Token *next ();
8028
7956
        
8029
7957
  TokenStream *scanner () const { return _stream; }
8055
7983
 
8056
7984
  void supportGNU (bool);
8057
7985
   private:
 
7986
 
 
7987
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
7988
 Puma :: Token * _pragma_token ;   private:
8058
7989
  typedef PreprocessorParser WinIfExistsCpp;
8059
7990
 
8060
 
#line 92 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
8061
 
 public :
8062
 
 
8063
 
Stack < unsigned > _depth ;
8064
 
 
8065
 
void skip_up_to ( int ) ;  private:
8066
 
 
8067
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
8068
 
 public :
8069
 
const char * importHandler ( ) const { return _importHandler ; }  private:
8070
 
 
8071
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8072
 
 Token * _pragma_token ;
8073
 
#line 165 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
7991
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
7992
 public :
 
7993
 
 
7994
Puma :: Stack < unsigned > _depth ;
 
7995
 
 
7996
void skip_up_to ( int ) ;
 
7997
#line 167 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8074
7998
};
8075
7999
 
8076
8000
 
8078
8002
 
8079
8003
#endif /* __preprocessor_parser__ */
8080
8004
 
8081
 
#line 8082 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8082
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
8083
 
 
8084
 
#line 170 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8085
 
 
8086
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8005
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8087
8006
using std::map;
8088
8007
 
8089
8008
namespace Puma {
8095
8014
class Unit;
8096
8015
 
8097
8016
 
8098
 
#line 8099 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8017
#line 8018 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
8099
8018
} // closed Puma
 
8019
class CCExprResolve;
 
8020
class CExprResolve;
8100
8021
class WinIfExists;
8101
8022
class WinImportHandler;
8102
8023
class WinMacros;
8103
 
class CMatchSyntax;
8104
 
class ExtGnu;
 
8024
class WinAsm;
 
8025
class WinDeclSpecs;
 
8026
class WinMemberExplSpec;
 
8027
class WinTypeKeywords;
 
8028
class WinFriend;
8105
8029
class ExtAC;
8106
8030
class ExtACBuilderCoupling;
8107
8031
class ExtACSyntaxCoupling;
8108
8032
class ExtACTree;
8109
8033
class ExtACKeywords;
8110
 
class WinAsm;
8111
 
class WinDeclSpecs;
8112
 
class WinMemberExplSpec;
8113
 
class WinTypeKeywords;
 
8034
class ExtGnu;
8114
8035
class PragmaOnceUnitState;
8115
8036
class PragmaOnce;
8116
 
class CCExprResolve;
8117
 
class CExprResolve;
 
8037
class CMatchSyntax;
8118
8038
namespace Puma {
8119
8039
 
8120
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8040
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8121
8041
class PreFileIncluder {
8122
 
#line 8123 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8042
#line 8043 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8043
  friend class ::CCExprResolve;
 
8044
  friend class ::CExprResolve;
8123
8045
  friend class ::WinIfExists;
8124
8046
  friend class ::WinImportHandler;
8125
8047
  friend class ::WinMacros;
8126
 
  friend class ::CMatchSyntax;
8127
 
  friend class ::ExtGnu;
 
8048
  friend class ::WinAsm;
 
8049
  friend class ::WinDeclSpecs;
 
8050
  friend class ::WinMemberExplSpec;
 
8051
  friend class ::WinTypeKeywords;
 
8052
  friend class ::WinFriend;
8128
8053
  friend class ::ExtAC;
8129
8054
  friend class ::ExtACBuilderCoupling;
8130
8055
  friend class ::ExtACSyntaxCoupling;
8131
8056
  friend class ::ExtACTree;
8132
8057
  friend class ::ExtACKeywords;
8133
 
  friend class ::WinAsm;
8134
 
  friend class ::WinDeclSpecs;
8135
 
  friend class ::WinMemberExplSpec;
8136
 
  friend class ::WinTypeKeywords;
 
8058
  friend class ::ExtGnu;
8137
8059
  friend class ::PragmaOnceUnitState;
8138
8060
  friend class ::PragmaOnce;
8139
 
  friend class ::CCExprResolve;
8140
 
  friend class ::CExprResolve;
 
8061
  friend class ::CMatchSyntax;
8141
8062
 
8142
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8063
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8143
8064
 
8144
8065
  int                       _next;
8145
8066
  PreParserState     *_state;
8150
8071
  PreMacroExpander _expander;
8151
8072
 
8152
8073
  // List of include paths.
8153
 
  Array<char*> _includeDirs;
 
8074
  Array<Filename> _includeDirs;
8154
8075
  
8155
8076
  // true if the last included file was protected by an active include guard
8156
8077
  bool _guarded;
8184
8105
        
8185
8106
public:
8186
8107
  PreFileIncluder (PreprocessorParser &);
8187
 
  ~PreFileIncluder ();
8188
8108
                
8189
8109
  // Push unit on token stack.
8190
8110
  
8191
 
#line 8192 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8192
 
public: inline void __exec_old_pushOnStack(::Puma::Unit * );
 
8111
#line 8112 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8112
public: __attribute__((always_inline)) inline void __exec_old_pushOnStack(::Puma::Unit * );
8193
8113
 
8194
 
#line 86 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8114
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8195
8115
void pushOnStack (Unit *);
8196
8116
        
8197
8117
  // Include a file.
8198
8118
  
8199
 
#line 8200 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8200
 
public: inline ::Puma::Unit * __exec_old_includeFile(const char * name);
 
8119
#line 8120 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8120
public: __attribute__((always_inline)) inline ::Puma::Unit * __exec_old_includeFile(const char * name);
8201
8121
 
8202
 
#line 89 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
 
8122
#line 89 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreFileIncluder.h"
8203
8123
Unit *includeFile (const char *name);
8204
8124
  Unit *handleIncludeOption (const char *name);
8205
8125
                          
8213
8133
  // Add a new include path to list of include paths.
8214
8134
  void addIncludePath (const char *path);
8215
8135
        
8216
 
  Array<char*> &getIncludePaths () { return (Array<char*> &)_includeDirs; }
 
8136
  Array<Filename> &getIncludePaths () { return _includeDirs; }
8217
8137
};
8218
8138
 
8219
8139
 
8221
8141
 
8222
8142
#endif /* __pre_file_includer__ */
8223
8143
 
8224
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8144
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8225
8145
 
8226
 
#line 8227 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8146
#line 8147 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
8227
8147
 
8228
8148
#ifndef __ac_fwd_WinIfExists__
8229
8149
#define __ac_fwd_WinIfExists__
8230
8150
class WinIfExists;
8231
8151
namespace AC {
8232
8152
  template <class JoinPoint>
8233
 
  inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
 
8153
  __attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
8234
8154
}
8235
8155
#endif
8236
8156
 
8237
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
8238
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
8157
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
8158
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
8239
8159
#endif
8240
8160
 
8241
8161
#ifndef __ac_fwd_WinImportHandler__
8242
8162
#define __ac_fwd_WinImportHandler__
8243
8163
class WinImportHandler;
8244
8164
namespace AC {
8245
 
  template <class JoinPoint, class Binding>
8246
 
  inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
8247
 
}
8248
 
#endif
8249
 
 
8250
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
8251
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
8165
  template <class JoinPoint>
 
8166
  __attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
 
8167
}
 
8168
#endif
 
8169
 
 
8170
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
8171
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
8172
#endif
 
8173
 
 
8174
#ifndef __ac_fwd_WinMacros__
 
8175
#define __ac_fwd_WinMacros__
 
8176
class WinMacros;
 
8177
namespace AC {
 
8178
  template <class JoinPoint>
 
8179
  __attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
 
8180
}
 
8181
#endif
 
8182
 
 
8183
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
8184
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
8252
8185
#endif
8253
8186
 
8254
8187
#ifndef __ac_fwd_PragmaOnce__
8256
8189
class PragmaOnce;
8257
8190
namespace AC {
8258
8191
  template <class JoinPoint>
8259
 
  inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
8260
 
  template <class JoinPoint>
8261
 
  inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
8262
 
  template <class JoinPoint, class Binding>
8263
 
  inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
8264
 
  template <class JoinPoint>
8265
 
  inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
8266
 
}
8267
 
#endif
8268
 
 
8269
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
8270
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
8271
 
#endif
8272
 
 
8273
 
#ifndef __ac_fwd_WinMacros__
8274
 
#define __ac_fwd_WinMacros__
8275
 
class WinMacros;
8276
 
namespace AC {
8277
 
  template <class JoinPoint, class Binding>
8278
 
  inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
8279
 
}
8280
 
#endif
8281
 
 
8282
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
8283
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
8284
 
#endif
8285
 
 
8286
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8287
 
 
8288
 
#line 8289 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8289
 
 
8290
 
#line 6 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8291
 
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
8292
 
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
8293
 
 
8294
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8192
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
 
8193
  template <class JoinPoint>
 
8194
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
 
8195
  template <class JoinPoint>
 
8196
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
 
8197
  template <class JoinPoint>
 
8198
  __attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
 
8199
}
 
8200
#endif
 
8201
 
 
8202
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8203
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8204
#endif
 
8205
 
 
8206
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8295
8207
// This file is part of PUMA.
8296
8208
// Copyright (C) 1999-2003  The PUMA developer team.
8297
8209
//                                                                
8340
8252
class PrePredicateManager;
8341
8253
 
8342
8254
 
8343
 
#line 8344 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8255
#line 8256 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
8344
8256
} // closed Puma
 
8257
class CCExprResolve;
 
8258
class CExprResolve;
8345
8259
class WinIfExists;
8346
8260
class WinImportHandler;
8347
8261
class WinMacros;
8348
 
class CMatchSyntax;
8349
 
class ExtGnu;
 
8262
class WinAsm;
 
8263
class WinDeclSpecs;
 
8264
class WinMemberExplSpec;
 
8265
class WinTypeKeywords;
 
8266
class WinFriend;
8350
8267
class ExtAC;
8351
8268
class ExtACBuilderCoupling;
8352
8269
class ExtACSyntaxCoupling;
8353
8270
class ExtACTree;
8354
8271
class ExtACKeywords;
8355
 
class WinAsm;
8356
 
class WinDeclSpecs;
8357
 
class WinMemberExplSpec;
8358
 
class WinTypeKeywords;
 
8272
class ExtGnu;
8359
8273
class PragmaOnceUnitState;
8360
8274
class PragmaOnce;
8361
 
class CCExprResolve;
8362
 
class CExprResolve;
8363
 
namespace Puma {
8364
 
 
8365
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8275
class CMatchSyntax;
 
8276
namespace Puma {
 
8277
 
 
8278
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8279
 
 
8280
#line 8281 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8281
} // closed Puma
 
8282
 
 
8283
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
8284
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
8285
#include "WinIfExists.ah"
 
8286
#endif
 
8287
namespace Puma {
 
8288
 
 
8289
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8290
 
 
8291
#line 8292 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8292
} // closed Puma
 
8293
 
 
8294
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8295
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
8296
#include "PragmaOnce.ah"
 
8297
#endif
 
8298
namespace Puma {
 
8299
 
 
8300
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8366
8301
class PreprocessorParser : public PumaTokenSource {
8367
 
#line 8368 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8302
#line 8303 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8303
  friend class ::CCExprResolve;
 
8304
  friend class ::CExprResolve;
8368
8305
  friend class ::WinIfExists;
8369
8306
  friend class ::WinImportHandler;
8370
8307
  friend class ::WinMacros;
8371
 
  friend class ::CMatchSyntax;
8372
 
  friend class ::ExtGnu;
 
8308
  friend class ::WinAsm;
 
8309
  friend class ::WinDeclSpecs;
 
8310
  friend class ::WinMemberExplSpec;
 
8311
  friend class ::WinTypeKeywords;
 
8312
  friend class ::WinFriend;
8373
8313
  friend class ::ExtAC;
8374
8314
  friend class ::ExtACBuilderCoupling;
8375
8315
  friend class ::ExtACSyntaxCoupling;
8376
8316
  friend class ::ExtACTree;
8377
8317
  friend class ::ExtACKeywords;
8378
 
  friend class ::WinAsm;
8379
 
  friend class ::WinDeclSpecs;
8380
 
  friend class ::WinMemberExplSpec;
8381
 
  friend class ::WinTypeKeywords;
 
8318
  friend class ::ExtGnu;
8382
8319
  friend class ::PragmaOnceUnitState;
8383
8320
  friend class ::PragmaOnce;
8384
 
  friend class ::CCExprResolve;
8385
 
  friend class ::CExprResolve;
 
8321
  friend class ::CMatchSyntax;
8386
8322
 
8387
 
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8323
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8388
8324
 
8389
8325
public:
8390
8326
  // The current mode for token preprocessing
8444
8380
  PreLevelState       *levelState () const       { return _levelState; }
8445
8381
  PreParserState      *parserState () const      { return _parserState; }
8446
8382
  PreMacroManager     *macroManager () const     { return _macroManager; }
 
8383
  void macroManager   (PreMacroManager *m)       { _macroManager = m; }
8447
8384
  PreFileIncluder     *fileIncluder () const     { return _fileIncluder; }
8448
8385
  PrePredicateManager *predicateManager () const { return _predicateManager; }
8449
8386
  UnitManager         *unitManager () const      { return _unitManager; }
8451
8388
  PreMode              pre_mode () const         { return _pre_mode; } 
8452
8389
  bool                 supportGNU () const       { return _support_gnu; }
8453
8390
  CScanner            &cscanner () const         { return (CScanner&) _scanner; }
 
8391
  const char          *importHandler () const    { return _importHandler; }
8454
8392
 
8455
8393
  // Return the preprocessor syntax tree.
8456
8394
  PreTree *syntaxTree () const;
8470
8408
        
8471
8409
  // Configure the preprocessor.
8472
8410
  
8473
 
#line 8474 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8474
 
public: inline void __exec_old_configure(const ::Puma::Config & ,bool );
 
8411
#line 8412 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8412
public: __attribute__((always_inline)) inline void __exec_old_configure(const ::Puma::Config & ,bool );
8475
8413
 
8476
 
#line 132 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8414
#line 134 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8477
8415
void configure (const Config &, bool = true);
8478
8416
        
8479
8417
  // Get the next token to parse.
8480
8418
  
8481
 
#line 8482 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8482
 
public: inline ::Puma::Token * __exec_old_next();
 
8419
#line 8420 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8420
public: __attribute__((always_inline)) inline ::Puma::Token * __exec_old_next();
8483
8421
 
8484
 
#line 135 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8422
#line 137 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8485
8423
Token *next ();
8486
8424
        
8487
8425
  TokenStream *scanner () const { return _stream; }
8513
8451
 
8514
8452
  void supportGNU (bool);
8515
8453
   private:
 
8454
 
 
8455
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
 
8456
 Puma :: Token * _pragma_token ;   private:
8516
8457
  typedef PreprocessorParser WinIfExistsCpp;
8517
8458
 
8518
 
#line 92 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
8519
 
 public :
8520
 
 
8521
 
Stack < unsigned > _depth ;
8522
 
 
8523
 
void skip_up_to ( int ) ;  private:
8524
 
 
8525
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
8526
 
 public :
8527
 
const char * importHandler ( ) const { return _importHandler ; }  private:
8528
 
 
8529
 
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8530
 
 Token * _pragma_token ;
8531
 
#line 165 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
 
8459
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
 
8460
 public :
 
8461
 
 
8462
Puma :: Stack < unsigned > _depth ;
 
8463
 
 
8464
void skip_up_to ( int ) ;
 
8465
#line 167 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8532
8466
};
8533
8467
 
8534
8468
 
8536
8470
 
8537
8471
#endif /* __preprocessor_parser__ */
8538
8472
 
8539
 
#line 8540 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8540
 
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
8541
 
 
8542
 
#line 170 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8543
 
 
8544
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
8473
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
8545
8474
#include <stdio.h>
8546
8475
#include <fcntl.h>
8547
8476
using namespace std;
8563
8492
 }
8564
8493
 
8565
8494
 
8566
 
PreFileIncluder::~PreFileIncluder () 
8567
 
 { 
8568
 
    for (long i = 0; i < _includeDirs.length (); i++)
8569
 
        delete[] _includeDirs[i];
8570
 
 }
8571
 
 
8572
 
 
8573
8495
// Add a new path to include paths list.
8574
 
void PreFileIncluder::addIncludePath (const char* path)
8575
 
 {
8576
 
    if (! path) return;
8577
 
  
8578
 
    char* tmp = new char[strlen(path) + 1];
8579
 
    strcpy(tmp,path);
8580
 
    
8581
 
    _includeDirs.append (tmp);
8582
 
 }
 
8496
void PreFileIncluder::addIncludePath (const char* path) {
 
8497
  if (path)
 
8498
    _includeDirs.append (Filename (path));
 
8499
}
8583
8500
 
8584
8501
 
8585
8502
// Include a file.
8605
8522
 
8606
8523
// Include a file.
8607
8524
 
8608
 
#line 8609 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
8609
 
 
8610
 
 
8611
 
struct TJP__ZN4Puma15PreFileIncluder11includeFileEPKc_0 {
8612
 
  typedef ::Puma::Unit * Result;
8613
 
  typedef ::Puma::PreFileIncluder That;
8614
 
  typedef ::Puma::PreFileIncluder Target;
8615
 
  static const int JPID = 53;
 
8525
#line 8526 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8526
 
 
8527
 
 
8528
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma15PreFileIncluder11includeFileEPKc_0 {
 
8529
  typedef TJP__ZN4Puma15PreFileIncluder11includeFileEPKc_0 __TJP;
 
8530
  typedef TResult Result;
 
8531
  typedef TThat   That;
 
8532
  typedef TTarget Target;
 
8533
  enum { ARGS = TArgs::ARGS };
 
8534
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
8535
  static const int JPID = 4404;
8616
8536
  static const AC::JPType JPTYPE = (AC::JPType)8;
8617
8537
  struct Res {
8618
 
    typedef ::Puma::Unit * Type;
8619
 
    typedef ::Puma::Unit * ReferredType;
8620
 
  };
8621
 
  enum { ARGS = 1 };
8622
 
  template <int I, int DUMMY = 0> struct Arg {
8623
 
    typedef void Type;
8624
 
    typedef void ReferredType;
8625
 
  };
8626
 
  template <int DUMMY> struct Arg<0, DUMMY> {
8627
 
    typedef const char * Type;
8628
 
    typedef const char * ReferredType;
 
8538
    typedef TResult Type;
 
8539
    typedef TResult ReferredType;
8629
8540
  };
8630
8541
 
8631
8542
  Result *_result;
 
8543
  That *_that;
8632
8544
 
8633
8545
  inline Result *result() {return (Result*)_result;}
 
8546
  inline That *that() {return (That*)_that;}
8634
8547
 
8635
8548
};
8636
8549
 
8637
8550
 
8638
 
#line 99 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
8551
#line 87 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
8639
8552
Unit* PreFileIncluder::includeFile (const char*  arg0)
8640
8553
 
8641
 
#line 8642 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8554
#line 8555 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
8642
8555
{
8643
 
  AC::ResultBuffer< ::Puma::Unit *  > result;
8644
 
  TJP__ZN4Puma15PreFileIncluder11includeFileEPKc_0 tjp;
8645
 
  tjp._result = &(TJP__ZN4Puma15PreFileIncluder11includeFileEPKc_0::Result&)result;
8646
 
  ::new (&result) ::Puma::Unit *  (this->__exec_old_includeFile(arg0));
8647
 
  AC::invoke_PragmaOnce_PragmaOnce_a3_after<TJP__ZN4Puma15PreFileIncluder11includeFileEPKc_0> (&tjp);
 
8556
  typedef TJP__ZN4Puma15PreFileIncluder11includeFileEPKc_0< ::Puma::Unit * , ::Puma::PreFileIncluder , ::Puma::PreFileIncluder ,  AC::TL< const char * , AC::TLE > > __TJP;
 
8557
  ::Puma::Unit * result;
 
8558
  __TJP tjp;
 
8559
  tjp._result = &(__TJP::Result&)result;
 
8560
  tjp._that =  (__TJP::That*)this;
 
8561
    result = this->__exec_old_includeFile(arg0);
 
8562
  AC::invoke_PragmaOnce_PragmaOnce_a3_after<__TJP> (&tjp);
8648
8563
  return (::Puma::Unit * &)result;
8649
8564
 
8650
8565
}
8651
 
inline ::Puma::Unit * Puma::PreFileIncluder::__exec_old_includeFile(const char * string)
8652
 
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
8566
__attribute__((always_inline)) inline ::Puma::Unit * Puma::PreFileIncluder::__exec_old_includeFile(const char * string)
 
8567
#line 88 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
8653
8568
{
8654
8569
    if (! string) return (Unit*) 0;
8655
8570
 
8706
8621
                
8707
8622
        // Search the path.
8708
8623
        for (i = _includeDirs.length () - 1; i >= 0; i--) 
8709
 
            if (strcmp (path, _includeDirs[i]) == 0) 
 
8624
            if (strcmp (path, _includeDirs[i].name ()) == 0) 
8710
8625
                break;
8711
8626
        
8712
8627
        // Calculate how many paths should skipped.
8765
8680
        file << token->text ();
8766
8681
    }
8767
8682
 
8768
 
    file << std::ends;
8769
8683
    delete unit;
8770
8684
 
8771
8685
    // If file name is empty we have a syntax error.
8837
8751
        for (int i = _includeDirs.length () - _next; i >= 0; i--) 
8838
8752
        {
8839
8753
            // Build file name like `path/file'
8840
 
            size     = strlen (file) + strlen (_includeDirs.lookup (i)) + 5;
 
8754
            size     = strlen (file) +
 
8755
                       strlen (_includeDirs.lookup (i).name ()) + 5;
8841
8756
            fullname = new char[size];
8842
 
                sprintf (fullname, "%s/%s", _includeDirs.lookup (i), file);
 
8757
            sprintf (fullname, "%s/%s", _includeDirs.lookup (i).name (),
 
8758
              file);
8843
8759
            
8844
8760
            // Now try to include the file from current system 
8845
8761
            // include directory. If this is not the last directory
9012
8928
 
9013
8929
// Push the unit on token stack.
9014
8930
 
9015
 
#line 9016 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
9016
 
 
9017
 
 
9018
 
struct TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0 {
9019
 
  typedef void Result;
9020
 
  typedef ::Puma::PreFileIncluder That;
9021
 
  typedef ::Puma::PreFileIncluder Target;
9022
 
  static const int JPID = 52;
 
8931
#line 8932 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8932
 
 
8933
 
 
8934
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0 {
 
8935
  typedef TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0 __TJP;
 
8936
  typedef TResult Result;
 
8937
  typedef TThat   That;
 
8938
  typedef TTarget Target;
 
8939
  enum { ARGS = TArgs::ARGS };
 
8940
  template <int I> struct Arg : AC::Arg<TArgs, I> {};
 
8941
  static const int JPID = 4402;
9023
8942
  static const AC::JPType JPTYPE = (AC::JPType)8;
9024
8943
  struct Res {
9025
 
    typedef void Type;
9026
 
    typedef void ReferredType;
9027
 
  };
9028
 
  enum { ARGS = 1 };
9029
 
  template <int I, int DUMMY = 0> struct Arg {
9030
 
    typedef void Type;
9031
 
    typedef void ReferredType;
9032
 
  };
9033
 
  template <int DUMMY> struct Arg<0, DUMMY> {
9034
 
    typedef ::Puma::Unit * Type;
9035
 
    typedef ::Puma::Unit * ReferredType;
 
8944
    typedef TResult Type;
 
8945
    typedef TResult ReferredType;
9036
8946
  };
9037
8947
 
9038
 
  void **_args;
 
8948
  void *_args[ARGS];
9039
8949
  That *_that;
9040
8950
 
9041
8951
  inline void *arg (int n) {return _args[n];}
9045
8955
  inline That *that() {return (That*)_that;}
9046
8956
 
9047
8957
  void proceed () {
9048
 
((TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0::That*)_that)->__exec_old_pushOnStack(*((TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0::Arg<0>::ReferredType*)_args[0]));
 
8958
    __TJP::that ()->__exec_old_pushOnStack(*(typename __TJP::template Arg<0>::ReferredType*)__TJP::arg(0));
9049
8959
  }
9050
 
};
9051
 
struct Binding_TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0_PragmaOnce_PragmaOnce_a2_around {
9052
 
  typedef TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0 TJP;
 
8960
struct Binding_PragmaOnce_PragmaOnce_a2_around {
 
8961
  typedef __TJP TJP;
9053
8962
  template <int I, int DUMMY = 0> struct Arg {
9054
8963
    void val (TJP *tjp) {} // for VC7
9055
8964
  };
9056
8965
  template <int DUMMY> struct Arg<0, DUMMY> {
9057
 
    static TJP::Arg<0>::ReferredType &val (TJP *tjp) { return *tjp->template arg<0> (); }
 
8966
    static typename TJP::template Arg<0>::ReferredType &val (TJP *tjp) { return *tjp->template arg<0> (); }
9058
8967
  };
9059
8968
};
9060
 
 
9061
 
 
9062
 
#line 461 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
8969
};
 
8970
 
 
8971
 
 
8972
#line 450 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
9063
8973
void PreFileIncluder::pushOnStack (Unit * arg0) 
9064
 
#line 9065 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
8974
#line 8975 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9065
8975
{
9066
 
  void *args__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit[] = { (void*)&arg0 };
9067
 
  TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0 tjp;
9068
 
  tjp._args = args__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit;
9069
 
  tjp._that =  (TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0::That*)this;
9070
 
  AC::invoke_PragmaOnce_PragmaOnce_a2_around<TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0, Binding_TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0_PragmaOnce_PragmaOnce_a2_around> (&tjp);
9071
 
 
 
8976
  typedef TJP__ZN4Puma15PreFileIncluder11pushOnStackEPN4PumaE4Unit_0< void, ::Puma::PreFileIncluder , ::Puma::PreFileIncluder ,  AC::TL< ::Puma::Unit * , AC::TLE > > __TJP;
 
8977
    __TJP tjp;
 
8978
  tjp._args[0] = (void*)&arg0;
 
8979
  tjp._that =  (__TJP::That*)this;
 
8980
  AC::invoke_PragmaOnce_PragmaOnce_a2_around<__TJP> (&tjp);
 
8981
  
9072
8982
}
9073
 
inline void Puma::PreFileIncluder::__exec_old_pushOnStack(::Puma::Unit * unit)
9074
 
#line 461 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
8983
__attribute__((always_inline)) inline void Puma::PreFileIncluder::__exec_old_pushOnStack(::Puma::Unit * unit)
 
8984
#line 450 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
9075
8985
{
9076
8986
  if (!hasActiveIncludeGuard (unit))
9077
8987
    ((TokenStream*) (_parser->scanner ()))->push (unit);
9153
9063
 
9154
9064
} // namespace Puma
9155
9065
 
9156
 
#line 9157 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
9157
 
 
9158
 
#ifdef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreFileIncluder_cc__
9159
 
/*** begin of aspect includes ***/
9160
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__)
9161
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
9162
 
 
9163
 
#line 7 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
9164
 
#endif
9165
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__)
9166
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
9167
 
 
9168
 
#line 11 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
9169
 
#endif
9170
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__)
9171
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
9172
 
 
9173
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9066
#line 9067 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9067
 
 
9068
#ifdef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreFileIncluder_cc__
 
9069
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
9070
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
9071
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
9072
#include "CCExprResolveCC.ah"
 
9073
#endif
 
9074
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9075
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9076
#include "ExtACTree.ah"
 
9077
#endif
 
9078
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
9079
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
9080
#include "ExtGnu.ah"
 
9081
#endif
 
9082
#endif
 
9083
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
9084
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
9085
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
9086
#include "CCExprResolveH.ah"
 
9087
#endif
 
9088
#endif
 
9089
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
9090
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
9091
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
9092
#include "CExprResolveCC.ah"
 
9093
#endif
 
9094
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9095
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9096
#include "ExtACTree.ah"
 
9097
#endif
 
9098
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
9099
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
9100
#include "ExtGnu.ah"
 
9101
#endif
 
9102
#endif
 
9103
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
9104
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
9105
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
9106
#include "CExprResolveH.ah"
 
9107
#endif
 
9108
#endif
 
9109
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
9110
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
9111
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
9112
 
 
9113
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
9114
#endif
 
9115
#endif
 
9116
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
9117
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
9118
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
9119
 
 
9120
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9121
// This file is part of PUMA.
 
9122
// Copyright (C) 1999-2003  The PUMA developer team.
 
9123
//                                                                
 
9124
// This program is free software;  you can redistribute it and/or 
 
9125
// modify it under the terms of the GNU General Public License as 
 
9126
// published by the Free Software Foundation; either version 2 of 
 
9127
// the License, or (at your option) any later version.            
 
9128
//                                                                
 
9129
// This program is distributed in the hope that it will be useful,
 
9130
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
9131
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
9132
// GNU General Public License for more details.                   
 
9133
//                                                                
 
9134
// You should have received a copy of the GNU General Public      
 
9135
// License along with this program; if not, write to the Free     
 
9136
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
9137
// MA  02111-1307  USA                                            
 
9138
 
 
9139
#ifndef __WinImportHandler__
 
9140
#define __WinImportHandler__
 
9141
 
 
9142
/********************************************************/
 
9143
/* Win #import directive support                        */
 
9144
/********************************************************/
 
9145
 
 
9146
 
 
9147
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9148
 
 
9149
#line 9150 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9150
class CCExprResolve;
 
9151
class CExprResolve;
 
9152
class WinIfExists;
 
9153
class WinMacros;
 
9154
class WinAsm;
 
9155
class WinDeclSpecs;
 
9156
class WinMemberExplSpec;
 
9157
class WinTypeKeywords;
 
9158
class WinFriend;
 
9159
class ExtAC;
 
9160
class ExtACBuilderCoupling;
 
9161
class ExtACSyntaxCoupling;
 
9162
class ExtACTree;
 
9163
class ExtACKeywords;
 
9164
class ExtGnu;
 
9165
class PragmaOnceUnitState;
 
9166
class PragmaOnce;
 
9167
class CMatchSyntax;
 
9168
 
 
9169
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9170
class WinImportHandler {
 
9171
#line 9172 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9172
 
 
9173
public:
 
9174
  static WinImportHandler *aspectof () {
 
9175
    static WinImportHandler __instance;
 
9176
    return &__instance;
 
9177
  }
 
9178
  static WinImportHandler *aspectOf () {
 
9179
    return aspectof ();
 
9180
  }
 
9181
private:
 
9182
 
 
9183
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9184
 
 
9185
#line 9186 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9186
  friend class ::CCExprResolve;
 
9187
  friend class ::CExprResolve;
 
9188
  friend class ::WinIfExists;
 
9189
  friend class ::WinMacros;
 
9190
  friend class ::WinAsm;
 
9191
  friend class ::WinDeclSpecs;
 
9192
  friend class ::WinMemberExplSpec;
 
9193
  friend class ::WinTypeKeywords;
 
9194
  friend class ::WinFriend;
 
9195
  friend class ::ExtAC;
 
9196
  friend class ::ExtACBuilderCoupling;
 
9197
  friend class ::ExtACSyntaxCoupling;
 
9198
  friend class ::ExtACTree;
 
9199
  friend class ::ExtACKeywords;
 
9200
  friend class ::ExtGnu;
 
9201
  friend class ::PragmaOnceUnitState;
 
9202
  friend class ::PragmaOnce;
 
9203
  friend class ::CMatchSyntax;
 
9204
 
 
9205
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9206
 
 
9207
  /********************************************************/
 
9208
  /* Win #import directive                                */
 
9209
  /********************************************************/
 
9210
 
 
9211
  // pointcuts
 
9212
  
 
9213
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9214
 
 
9215
  
 
9216
  // handle --import-handler option
 
9217
  
 
9218
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9219
 
 
9220
public: template<class JoinPoint> void __a0_before 
 
9221
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9222
 
 
9223
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9224
(JoinPoint *tjp, const Puma::Config &config, bool process_includes)
 
9225
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9226
 {
 
9227
#line 9228 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9228
 
 
9229
  JoinPoint *&thisJoinPoint = tjp;
 
9230
 
 
9231
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9232
 
 
9233
#line 9234 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9234
 
 
9235
  typedef typename JoinPoint::That __JP_That;
 
9236
  typedef typename JoinPoint::Target __JP_Target;
 
9237
  typedef typename JoinPoint::Result __JP_Result;
 
9238
 
 
9239
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9240
 
 
9241
    const Puma::ConfOption *opt;
 
9242
    char *tmp;
 
9243
    
 
9244
    if (process_includes) {
 
9245
      opt = config.Option ("--import-handler");
 
9246
      if (opt && opt->Arguments ()) {
 
9247
        // delete old import handler
 
9248
        if (thisJoinPoint->that ()->_importHandler)
 
9249
          delete[] thisJoinPoint->that ()->_importHandler;
 
9250
        
 
9251
        // get new import handler
 
9252
        tmp = new char[strlen (opt->Argument (0))+1];
 
9253
        strcpy (tmp, opt->Argument (0));
 
9254
        thisJoinPoint->that ()->_importHandler = tmp;
 
9255
      }
 
9256
    }
 
9257
  }
 
9258
#line 9259 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9259
 
 
9260
private:
 
9261
 
 
9262
#line 58 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9263
 
 
9264
 
 
9265
protected:
 
9266
  WinImportHandler () {}
 
9267
};
 
9268
#line 9269 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9269
 
 
9270
namespace AC {
 
9271
  template <class JoinPoint>
 
9272
  __attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp) {
 
9273
    typedef typename JoinPoint::Binding_WinImportHandler_WinImportHandler_a0_before::template Arg<0> Arg0;
 
9274
    typedef typename JoinPoint::Binding_WinImportHandler_WinImportHandler_a0_before::template Arg<1> Arg1;
 
9275
    ::WinImportHandler::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp), (bool)Arg1::val (tjp));
 
9276
  }
 
9277
 
9278
 
 
9279
#line 62 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
 
9280
 
 
9281
 
 
9282
 
 
9283
#endif /* __WinImportHandler__ */
 
9284
 
 
9285
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
9286
#endif
 
9287
#endif
 
9288
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
9289
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
9290
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
 
9291
 
 
9292
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9174
9293
// This file is part of PUMA.
9175
9294
// Copyright (C) 1999-2003  The PUMA developer team.
9176
9295
//                                                                
9197
9316
/********************************************************/
9198
9317
 
9199
9318
 
9200
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
9201
 
using namespace Puma;
9202
 
 
9203
 
 
9204
 
 
9205
 
#line 9206 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9319
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9320
 
 
9321
#line 9322 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9322
class CCExprResolve;
 
9323
class CExprResolve;
9206
9324
class WinIfExists;
9207
9325
class WinImportHandler;
9208
 
class CMatchSyntax;
9209
 
class ExtGnu;
 
9326
class WinAsm;
 
9327
class WinDeclSpecs;
 
9328
class WinMemberExplSpec;
 
9329
class WinTypeKeywords;
 
9330
class WinFriend;
9210
9331
class ExtAC;
9211
9332
class ExtACBuilderCoupling;
9212
9333
class ExtACSyntaxCoupling;
9213
9334
class ExtACTree;
9214
9335
class ExtACKeywords;
9215
 
class WinAsm;
9216
 
class WinDeclSpecs;
9217
 
class WinMemberExplSpec;
9218
 
class WinTypeKeywords;
 
9336
class ExtGnu;
9219
9337
class PragmaOnceUnitState;
9220
9338
class PragmaOnce;
9221
 
class CCExprResolve;
9222
 
class CExprResolve;
 
9339
class CMatchSyntax;
9223
9340
 
9224
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9341
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9225
9342
class WinMacros {
9226
 
#line 9227 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9343
#line 9344 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9227
9344
 
9228
9345
public:
9229
9346
  static WinMacros *aspectof () {
9235
9352
  }
9236
9353
private:
9237
9354
 
9238
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9355
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9239
9356
 
9240
 
#line 9241 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9357
#line 9358 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9358
  friend class ::CCExprResolve;
 
9359
  friend class ::CExprResolve;
9241
9360
  friend class ::WinIfExists;
9242
9361
  friend class ::WinImportHandler;
9243
 
  friend class ::CMatchSyntax;
9244
 
  friend class ::ExtGnu;
 
9362
  friend class ::WinAsm;
 
9363
  friend class ::WinDeclSpecs;
 
9364
  friend class ::WinMemberExplSpec;
 
9365
  friend class ::WinTypeKeywords;
 
9366
  friend class ::WinFriend;
9245
9367
  friend class ::ExtAC;
9246
9368
  friend class ::ExtACBuilderCoupling;
9247
9369
  friend class ::ExtACSyntaxCoupling;
9248
9370
  friend class ::ExtACTree;
9249
9371
  friend class ::ExtACKeywords;
9250
 
  friend class ::WinAsm;
9251
 
  friend class ::WinDeclSpecs;
9252
 
  friend class ::WinMemberExplSpec;
9253
 
  friend class ::WinTypeKeywords;
 
9372
  friend class ::ExtGnu;
9254
9373
  friend class ::PragmaOnceUnitState;
9255
9374
  friend class ::PragmaOnce;
9256
 
  friend class ::CCExprResolve;
9257
 
  friend class ::CExprResolve;
 
9375
  friend class ::CMatchSyntax;
9258
9376
 
9259
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9377
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9260
9378
 
9261
9379
  /********************************************************/
9262
9380
  /* Win specific predefined macros                       */
9264
9382
 
9265
9383
  // predefine win specific macros
9266
9384
  
9267
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9385
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9268
9386
 
9269
9387
public: template<class JoinPoint> void __a0_before 
9270
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9388
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9271
9389
 
9272
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
9273
 
(JoinPoint *tjp, const Config &config)
9274
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9390
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9391
(JoinPoint *tjp, const Puma::Config &config)
 
9392
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9275
9393
 {
9276
 
#line 9277 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9394
#line 9395 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9277
9395
 
9278
9396
  JoinPoint *&thisJoinPoint = tjp;
9279
9397
 
9280
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9398
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9281
9399
 
9282
 
#line 9283 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9400
#line 9401 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9283
9401
 
9284
9402
  typedef typename JoinPoint::That __JP_That;
9285
9403
  typedef typename JoinPoint::Target __JP_Target;
9286
9404
  typedef typename JoinPoint::Result __JP_Result;
9287
9405
 
9288
 
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9406
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9289
9407
 
9290
9408
    if (config.Option ("--vc")) {
9291
9409
      // constants
9298
9416
      thisJoinPoint->that ()->defMacro ("__noop", " ");
9299
9417
 
9300
9418
      // function-like macros
9301
 
      PreMacro::MacroArgs *args = new PreMacro::MacroArgs (1);
 
9419
      Puma::PreMacro::MacroArgs *args = new Puma::PreMacro::MacroArgs (1);
9302
9420
      args->append ("__arg0");
9303
9421
      thisJoinPoint->that ()->macroManager ()->addMacro (
9304
 
        new PreMacro ("__declspec", args, " "));
 
9422
        new Puma::PreMacro ("__declspec", args, " "));
9305
9423
    }
9306
9424
  }
9307
 
#line 9308 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9425
#line 9426 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9308
9426
 
9309
9427
private:
9310
9428
 
9311
 
#line 56 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9429
#line 54 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9312
9430
 
9313
9431
 
9314
9432
protected:
9315
9433
  WinMacros () {}
9316
9434
};
9317
 
#line 9318 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9435
#line 9436 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9318
9436
 
9319
9437
namespace AC {
9320
 
  template <class JoinPoint, class Binding>
9321
 
  inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp) {
9322
 
    typedef typename Binding::template Arg<0> Arg0;
 
9438
  template <class JoinPoint>
 
9439
  __attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp) {
 
9440
    typedef typename JoinPoint::Binding_WinMacros_WinMacros_a0_before::template Arg<0> Arg0;
9323
9441
    ::WinMacros::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp));
9324
9442
  }
9325
9443
9326
9444
 
9327
 
#line 60 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
 
9445
#line 58 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
9328
9446
 
9329
9447
 
9330
9448
 
9331
9449
#endif /* __WinMacros__ */
9332
9450
 
9333
 
#line 15 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
9334
 
#endif
9335
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__)
9336
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
9337
 
#include "CMatchSyntax.ah"
9338
 
#endif
9339
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__)
9340
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__
9341
 
#include "ExtGnu.ah"
9342
 
#endif
9343
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__)
9344
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__
 
9451
#line 59 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
9452
#endif
 
9453
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
9454
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
9455
 
 
9456
#line 63 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
9457
#endif
 
9458
#endif
 
9459
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
9460
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
9461
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
 
9462
#include "WinAsm.ah"
 
9463
#endif
 
9464
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9465
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9466
#include "ExtACTree.ah"
 
9467
#endif
 
9468
#endif
 
9469
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
9470
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
9471
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
9472
#include "WinDeclSpecs.ah"
 
9473
#endif
 
9474
#endif
 
9475
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
9476
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
9477
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
9478
#include "WinMemberExplSpec.ah"
 
9479
#endif
 
9480
#endif
 
9481
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
9482
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
9483
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
9484
#include "WinTypeKeywords.ah"
 
9485
#endif
 
9486
#endif
 
9487
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
9488
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
9489
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
 
9490
#include "WinFriend.ah"
 
9491
#endif
 
9492
#endif
 
9493
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
9494
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
 
9495
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
9345
9496
#include "ExtAC.ah"
9346
9497
#endif
9347
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__)
9348
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
9498
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9499
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9500
#include "ExtACTree.ah"
 
9501
#endif
 
9502
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
9503
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
9504
#include "ExtACKeywords.ah"
 
9505
#endif
 
9506
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
9507
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
9508
#include "ExtGnu.ah"
 
9509
#endif
 
9510
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
9511
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
9512
#include "PragmaOnceUnitState.ah"
 
9513
#endif
 
9514
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
9515
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
9516
#include "CMatchSyntax.ah"
 
9517
#endif
 
9518
#endif
 
9519
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
9520
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
9521
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
9349
9522
#include "ExtACBuilderH.ah"
9350
9523
#endif
9351
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__)
9352
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
9524
#endif
 
9525
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
9526
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
9527
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
9353
9528
#include "ExtACBuilderCC.ah"
9354
9529
#endif
9355
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__)
9356
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
9530
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9531
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9532
#include "ExtACTree.ah"
 
9533
#endif
 
9534
#endif
 
9535
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
9536
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
9537
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
9357
9538
#include "ExtACSyntaxH.ah"
9358
9539
#endif
9359
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__)
9360
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
9540
#endif
 
9541
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
9542
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
9543
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
9361
9544
#include "ExtACSyntaxCC.ah"
9362
9545
#endif
9363
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__)
9364
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9546
#endif
 
9547
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9548
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
9549
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
9365
9550
#include "ExtACTree.ah"
9366
9551
#endif
9367
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__)
9368
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
9552
#endif
 
9553
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
9554
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
9555
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
9369
9556
 
9370
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
9557
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
9371
9558
// This file is part of PUMA.
9372
9559
// Copyright (C) 1999-2003  The PUMA developer team.
9373
9560
//                                                                
9390
9577
#define __ext_ac_keywords_ah__
9391
9578
 
9392
9579
 
9393
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
9580
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
9394
9581
 
9395
 
#line 9396 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9582
#line 9583 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9396
9583
 
9397
9584
#ifndef __ac_fwd_ExtACKeywords__
9398
9585
#define __ac_fwd_ExtACKeywords__
9399
9586
class ExtACKeywords;
9400
9587
namespace AC {
9401
 
  template <class JoinPoint, class Binding>
9402
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
9403
 
  template <class JoinPoint, class Binding>
9404
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
9405
 
  template <class JoinPoint>
9406
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
9588
  template <class JoinPoint>
 
9589
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
9590
  template <class JoinPoint>
 
9591
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
9592
  template <class JoinPoint>
 
9593
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
9407
9594
}
9408
9595
#endif
9409
9596
 
9410
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
9411
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
9597
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
9598
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
9412
9599
#endif
9413
9600
 
9414
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
9601
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
9415
9602
// This file is part of PUMA.
9416
9603
// Copyright (C) 1999-2003  The PUMA developer team.
9417
9604
//                                                                
9436
9623
// Special project derivation for C++ sources.
9437
9624
 
9438
9625
 
9439
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
9626
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
9440
9627
// This file is part of PUMA.
9441
9628
// Copyright (C) 1999-2003  The PUMA developer team.
9442
9629
//                                                                
9462
9649
// methods for searching and writing files. 
9463
9650
 
9464
9651
 
9465
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
9652
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
9466
9653
// This file is part of PUMA.
9467
9654
// Copyright (C) 1999-2003  The PUMA developer team.
9468
9655
//                                                                
9487
9674
// Manages directories and methods to access the files in it.
9488
9675
 
9489
9676
 
9490
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
9677
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
9491
9678
// This file is part of PUMA.
9492
9679
// Copyright (C) 1999-2003  The PUMA developer team.
9493
9680
//                                                                
9516
9703
 
9517
9704
 
9518
9705
 
9519
 
#line 9520 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9706
#line 9707 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9520
9707
} // closed Puma
 
9708
class CCExprResolve;
 
9709
class CExprResolve;
9521
9710
class WinIfExists;
9522
9711
class WinImportHandler;
9523
9712
class WinMacros;
9524
 
class CMatchSyntax;
9525
 
class ExtGnu;
 
9713
class WinAsm;
 
9714
class WinDeclSpecs;
 
9715
class WinMemberExplSpec;
 
9716
class WinTypeKeywords;
 
9717
class WinFriend;
9526
9718
class ExtAC;
9527
9719
class ExtACBuilderCoupling;
9528
9720
class ExtACSyntaxCoupling;
9529
9721
class ExtACTree;
9530
9722
class ExtACKeywords;
9531
 
class WinAsm;
9532
 
class WinDeclSpecs;
9533
 
class WinMemberExplSpec;
9534
 
class WinTypeKeywords;
 
9723
class ExtGnu;
9535
9724
class PragmaOnceUnitState;
9536
9725
class PragmaOnce;
9537
 
class CCExprResolve;
9538
 
class CExprResolve;
 
9726
class CMatchSyntax;
9539
9727
namespace Puma {
9540
9728
 
9541
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
9729
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
9542
9730
class PathInfo {
9543
 
#line 9544 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9731
#line 9732 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9732
  friend class ::CCExprResolve;
 
9733
  friend class ::CExprResolve;
9544
9734
  friend class ::WinIfExists;
9545
9735
  friend class ::WinImportHandler;
9546
9736
  friend class ::WinMacros;
9547
 
  friend class ::CMatchSyntax;
9548
 
  friend class ::ExtGnu;
 
9737
  friend class ::WinAsm;
 
9738
  friend class ::WinDeclSpecs;
 
9739
  friend class ::WinMemberExplSpec;
 
9740
  friend class ::WinTypeKeywords;
 
9741
  friend class ::WinFriend;
9549
9742
  friend class ::ExtAC;
9550
9743
  friend class ::ExtACBuilderCoupling;
9551
9744
  friend class ::ExtACSyntaxCoupling;
9552
9745
  friend class ::ExtACTree;
9553
9746
  friend class ::ExtACKeywords;
9554
 
  friend class ::WinAsm;
9555
 
  friend class ::WinDeclSpecs;
9556
 
  friend class ::WinMemberExplSpec;
9557
 
  friend class ::WinTypeKeywords;
 
9747
  friend class ::ExtGnu;
9558
9748
  friend class ::PragmaOnceUnitState;
9559
9749
  friend class ::PragmaOnce;
9560
 
  friend class ::CCExprResolve;
9561
 
  friend class ::CExprResolve;
 
9750
  friend class ::CMatchSyntax;
9562
9751
 
9563
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathInfo.h"
 
9752
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathInfo.h"
9564
9753
 
9565
9754
  const char *_src;        // Source path.
9566
9755
  const char *_dest;        // Destination path.
9587
9776
 
9588
9777
#endif /* __path_info__ */
9589
9778
 
9590
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
9779
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
9591
9780
// This file is part of PUMA.
9592
9781
// Copyright (C) 1999-2003  The PUMA developer team.
9593
9782
//                                                                
9614
9803
// are iterated. 
9615
9804
 
9616
9805
 
9617
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
9806
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
9618
9807
// This file is part of PUMA.
9619
9808
// Copyright (C) 1999-2003  The PUMA developer team.
9620
9809
//                                                                
9637
9826
#define __project_file__
9638
9827
 
9639
9828
 
9640
 
#line 23 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
9829
#line 23 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
9641
9830
using std::map;
9642
9831
 
9643
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
9832
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
9644
9833
using std::string;
9645
9834
 
9646
9835
 
9647
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
9836
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
9648
9837
namespace Puma {
9649
9838
 
9650
9839
// the project file abstraction is used to store all filenames relevant
9651
9840
// for a specific file that is managed by Puma.
9652
9841
 
9653
9842
 
9654
 
#line 9655 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9843
#line 9844 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9655
9844
} // closed Puma
 
9845
class CCExprResolve;
 
9846
class CExprResolve;
9656
9847
class WinIfExists;
9657
9848
class WinImportHandler;
9658
9849
class WinMacros;
9659
 
class CMatchSyntax;
9660
 
class ExtGnu;
 
9850
class WinAsm;
 
9851
class WinDeclSpecs;
 
9852
class WinMemberExplSpec;
 
9853
class WinTypeKeywords;
 
9854
class WinFriend;
9661
9855
class ExtAC;
9662
9856
class ExtACBuilderCoupling;
9663
9857
class ExtACSyntaxCoupling;
9664
9858
class ExtACTree;
9665
9859
class ExtACKeywords;
9666
 
class WinAsm;
9667
 
class WinDeclSpecs;
9668
 
class WinMemberExplSpec;
9669
 
class WinTypeKeywords;
 
9860
class ExtGnu;
9670
9861
class PragmaOnceUnitState;
9671
9862
class PragmaOnce;
9672
 
class CCExprResolve;
9673
 
class CExprResolve;
 
9863
class CMatchSyntax;
9674
9864
namespace Puma {
9675
9865
 
9676
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
9866
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
9677
9867
class ProjectFile {
9678
 
#line 9679 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9868
#line 9869 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9869
  friend class ::CCExprResolve;
 
9870
  friend class ::CExprResolve;
9679
9871
  friend class ::WinIfExists;
9680
9872
  friend class ::WinImportHandler;
9681
9873
  friend class ::WinMacros;
9682
 
  friend class ::CMatchSyntax;
9683
 
  friend class ::ExtGnu;
 
9874
  friend class ::WinAsm;
 
9875
  friend class ::WinDeclSpecs;
 
9876
  friend class ::WinMemberExplSpec;
 
9877
  friend class ::WinTypeKeywords;
 
9878
  friend class ::WinFriend;
9684
9879
  friend class ::ExtAC;
9685
9880
  friend class ::ExtACBuilderCoupling;
9686
9881
  friend class ::ExtACSyntaxCoupling;
9687
9882
  friend class ::ExtACTree;
9688
9883
  friend class ::ExtACKeywords;
9689
 
  friend class ::WinAsm;
9690
 
  friend class ::WinDeclSpecs;
9691
 
  friend class ::WinMemberExplSpec;
9692
 
  friend class ::WinTypeKeywords;
 
9884
  friend class ::ExtGnu;
9693
9885
  friend class ::PragmaOnceUnitState;
9694
9886
  friend class ::PragmaOnce;
9695
 
  friend class ::CCExprResolve;
9696
 
  friend class ::CExprResolve;
 
9887
  friend class ::CMatchSyntax;
9697
9888
 
9698
 
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
 
9889
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ProjectFile.h"
9699
9890
 
9700
9891
  Filename _nick_name;
9701
9892
  Filename _dest_path;
9719
9910
 
9720
9911
#endif // __project_file__
9721
9912
 
9722
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
9913
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
9723
9914
namespace Puma {
9724
9915
 
9725
9916
class PathManager;
9726
9917
class RegComp;
9727
9918
 
9728
9919
 
9729
 
#line 9730 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9920
#line 9921 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9730
9921
} // closed Puma
 
9922
class CCExprResolve;
 
9923
class CExprResolve;
9731
9924
class WinIfExists;
9732
9925
class WinImportHandler;
9733
9926
class WinMacros;
9734
 
class CMatchSyntax;
9735
 
class ExtGnu;
 
9927
class WinAsm;
 
9928
class WinDeclSpecs;
 
9929
class WinMemberExplSpec;
 
9930
class WinTypeKeywords;
 
9931
class WinFriend;
9736
9932
class ExtAC;
9737
9933
class ExtACBuilderCoupling;
9738
9934
class ExtACSyntaxCoupling;
9739
9935
class ExtACTree;
9740
9936
class ExtACKeywords;
9741
 
class WinAsm;
9742
 
class WinDeclSpecs;
9743
 
class WinMemberExplSpec;
9744
 
class WinTypeKeywords;
 
9937
class ExtGnu;
9745
9938
class PragmaOnceUnitState;
9746
9939
class PragmaOnce;
9747
 
class CCExprResolve;
9748
 
class CExprResolve;
 
9940
class CMatchSyntax;
9749
9941
namespace Puma {
9750
9942
 
9751
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
9943
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
9752
9944
class PathIterator : public PFMConstIter {
9753
 
#line 9754 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9945
#line 9946 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9946
  friend class ::CCExprResolve;
 
9947
  friend class ::CExprResolve;
9754
9948
  friend class ::WinIfExists;
9755
9949
  friend class ::WinImportHandler;
9756
9950
  friend class ::WinMacros;
9757
 
  friend class ::CMatchSyntax;
9758
 
  friend class ::ExtGnu;
 
9951
  friend class ::WinAsm;
 
9952
  friend class ::WinDeclSpecs;
 
9953
  friend class ::WinMemberExplSpec;
 
9954
  friend class ::WinTypeKeywords;
 
9955
  friend class ::WinFriend;
9759
9956
  friend class ::ExtAC;
9760
9957
  friend class ::ExtACBuilderCoupling;
9761
9958
  friend class ::ExtACSyntaxCoupling;
9762
9959
  friend class ::ExtACTree;
9763
9960
  friend class ::ExtACKeywords;
9764
 
  friend class ::WinAsm;
9765
 
  friend class ::WinDeclSpecs;
9766
 
  friend class ::WinMemberExplSpec;
9767
 
  friend class ::WinTypeKeywords;
 
9961
  friend class ::ExtGnu;
9768
9962
  friend class ::PragmaOnceUnitState;
9769
9963
  friend class ::PragmaOnce;
9770
 
  friend class ::CCExprResolve;
9771
 
  friend class ::CExprResolve;
 
9964
  friend class ::CMatchSyntax;
9772
9965
 
9773
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathIterator.h"
 
9966
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathIterator.h"
9774
9967
 
9775
9968
  friend class PathManager;
9776
9969
 
9795
9988
 
9796
9989
#endif /* __path_iterator__ */
9797
9990
 
9798
 
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
9991
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
9799
9992
namespace Puma {
9800
9993
 
9801
9994
class RegComp;
9803
9996
class Unit;
9804
9997
 
9805
9998
 
9806
 
#line 9807 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
9999
#line 10000 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9807
10000
} // closed Puma
 
10001
class CCExprResolve;
 
10002
class CExprResolve;
9808
10003
class WinIfExists;
9809
10004
class WinImportHandler;
9810
10005
class WinMacros;
9811
 
class CMatchSyntax;
9812
 
class ExtGnu;
 
10006
class WinAsm;
 
10007
class WinDeclSpecs;
 
10008
class WinMemberExplSpec;
 
10009
class WinTypeKeywords;
 
10010
class WinFriend;
9813
10011
class ExtAC;
9814
10012
class ExtACBuilderCoupling;
9815
10013
class ExtACSyntaxCoupling;
9816
10014
class ExtACTree;
9817
10015
class ExtACKeywords;
9818
 
class WinAsm;
9819
 
class WinDeclSpecs;
9820
 
class WinMemberExplSpec;
9821
 
class WinTypeKeywords;
 
10016
class ExtGnu;
9822
10017
class PragmaOnceUnitState;
9823
10018
class PragmaOnce;
9824
 
class CCExprResolve;
9825
 
class CExprResolve;
 
10019
class CMatchSyntax;
9826
10020
namespace Puma {
9827
10021
 
9828
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
10022
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
9829
10023
class PathManager {
9830
 
#line 9831 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10024
#line 10025 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10025
  friend class ::CCExprResolve;
 
10026
  friend class ::CExprResolve;
9831
10027
  friend class ::WinIfExists;
9832
10028
  friend class ::WinImportHandler;
9833
10029
  friend class ::WinMacros;
9834
 
  friend class ::CMatchSyntax;
9835
 
  friend class ::ExtGnu;
 
10030
  friend class ::WinAsm;
 
10031
  friend class ::WinDeclSpecs;
 
10032
  friend class ::WinMemberExplSpec;
 
10033
  friend class ::WinTypeKeywords;
 
10034
  friend class ::WinFriend;
9836
10035
  friend class ::ExtAC;
9837
10036
  friend class ::ExtACBuilderCoupling;
9838
10037
  friend class ::ExtACSyntaxCoupling;
9839
10038
  friend class ::ExtACTree;
9840
10039
  friend class ::ExtACKeywords;
9841
 
  friend class ::WinAsm;
9842
 
  friend class ::WinDeclSpecs;
9843
 
  friend class ::WinMemberExplSpec;
9844
 
  friend class ::WinTypeKeywords;
 
10040
  friend class ::ExtGnu;
9845
10041
  friend class ::PragmaOnceUnitState;
9846
10042
  friend class ::PragmaOnce;
9847
 
  friend class ::CCExprResolve;
9848
 
  friend class ::CExprResolve;
 
10043
  friend class ::CMatchSyntax;
9849
10044
 
9850
 
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PathManager.h"
 
10045
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PathManager.h"
9851
10046
 
9852
10047
 
9853
10048
  ErrorStream     *_err;
9949
10144
 
9950
10145
#endif /* __path_manager__ */
9951
10146
 
9952
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
10147
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
10148
 
 
10149
#line 10150 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10150
 
 
10151
#ifndef __ac_fwd_PragmaOnceUnitState__
 
10152
#define __ac_fwd_PragmaOnceUnitState__
 
10153
class PragmaOnceUnitState;
 
10154
namespace AC {
 
10155
  template <class JoinPoint>
 
10156
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
 
10157
  template <class JoinPoint>
 
10158
  __attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
 
10159
}
 
10160
#endif
 
10161
 
 
10162
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
10163
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
10164
#endif
 
10165
 
 
10166
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
10167
// This file is part of PUMA.
 
10168
// Copyright (C) 1999-2003  The PUMA developer team.
 
10169
//                                                                
 
10170
// This program is free software;  you can redistribute it and/or 
 
10171
// modify it under the terms of the GNU General Public License as 
 
10172
// published by the Free Software Foundation; either version 2 of 
 
10173
// the License, or (at your option) any later version.            
 
10174
//                                                                
 
10175
// This program is distributed in the hope that it will be useful,
 
10176
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
10177
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 
10178
// GNU General Public License for more details.                   
 
10179
//                                                                
 
10180
// You should have received a copy of the GNU General Public      
 
10181
// License along with this program; if not, write to the Free     
 
10182
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 
10183
// MA  02111-1307  USA                                            
 
10184
 
 
10185
#ifndef __UnitManager__
 
10186
#define __UnitManager__
 
10187
 
 
10188
// Class UnitManager helps you to have control of all units built.
 
10189
 
 
10190
#include <iostream>
 
10191
#include <list>
 
10192
#include <map>
 
10193
#include <string>
 
10194
using namespace std;
 
10195
#include "Puma/ErrorStream.h"
 
10196
 
 
10197
namespace Puma {
 
10198
 
 
10199
 
 
10200
class Unit;
 
10201
class Source;
 
10202
class Tokenizer;
 
10203
 
 
10204
 
 
10205
#line 10206 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10206
} // closed Puma
 
10207
class CCExprResolve;
 
10208
class CExprResolve;
 
10209
class WinIfExists;
 
10210
class WinImportHandler;
 
10211
class WinMacros;
 
10212
class WinAsm;
 
10213
class WinDeclSpecs;
 
10214
class WinMemberExplSpec;
 
10215
class WinTypeKeywords;
 
10216
class WinFriend;
 
10217
class ExtAC;
 
10218
class ExtACBuilderCoupling;
 
10219
class ExtACSyntaxCoupling;
 
10220
class ExtACTree;
 
10221
class ExtACKeywords;
 
10222
class ExtGnu;
 
10223
class PragmaOnceUnitState;
 
10224
class PragmaOnce;
 
10225
class CMatchSyntax;
 
10226
namespace Puma {
 
10227
 
 
10228
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
10229
class UnitManager {
 
10230
#line 10231 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10231
  friend class ::CCExprResolve;
 
10232
  friend class ::CExprResolve;
 
10233
  friend class ::WinIfExists;
 
10234
  friend class ::WinImportHandler;
 
10235
  friend class ::WinMacros;
 
10236
  friend class ::WinAsm;
 
10237
  friend class ::WinDeclSpecs;
 
10238
  friend class ::WinMemberExplSpec;
 
10239
  friend class ::WinTypeKeywords;
 
10240
  friend class ::WinFriend;
 
10241
  friend class ::ExtAC;
 
10242
  friend class ::ExtACBuilderCoupling;
 
10243
  friend class ::ExtACSyntaxCoupling;
 
10244
  friend class ::ExtACTree;
 
10245
  friend class ::ExtACKeywords;
 
10246
  friend class ::ExtGnu;
 
10247
  friend class ::PragmaOnceUnitState;
 
10248
  friend class ::PragmaOnce;
 
10249
  friend class ::CMatchSyntax;
 
10250
 
 
10251
#line 38 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
10252
 
 
10253
public:
 
10254
  typedef map<string, Unit*> UMap;
 
10255
private:
 
10256
  ErrorStream *_err;        // For error messages.
 
10257
  list<Unit*> _nonames;     // Noname units list.
 
10258
  mutable UMap _umap;       // Named units, map supports fast lookup by name
 
10259
  typedef UMap::value_type UMapPair;
 
10260
  Tokenizer *_tokenizer;    // File scanner.
 
10261
 
 
10262
public:
 
10263
  UnitManager (ErrorStream &err) : _err (&err), _tokenizer (0) {}
 
10264
        
 
10265
  // Destructor: Delete all units.
 
10266
  virtual ~UnitManager ();
 
10267
        
 
10268
  // Get the unit hash table.
 
10269
  UMap &getTable () const { return _umap; }
 
10270
  typedef UMap::iterator UMapIter;
 
10271
        
 
10272
  // Get/Set the file scanner that is used by newUnit
 
10273
  Tokenizer *tokenizer () const { return _tokenizer; }
 
10274
  void tokenizer (Tokenizer *t) { _tokenizer = t; }
 
10275
 
 
10276
  // Add a unit to manager.
 
10277
  void addUnit (Unit *unit);
 
10278
        
 
10279
  // Remove (and destroy) a unit from hash table. If the name
 
10280
  // is NULL remove all (but not the nonames).
 
10281
  void removeUnit (const char *name = (const char*) 0, bool = false, 
 
10282
                   bool destroy = true) const;
 
10283
 
 
10284
  // Empty a unit. Don't remove from hash table.
 
10285
  // Preserve the last save location information.
 
10286
  void closeUnit (const char *name = (const char*) 0, bool = false) const;
 
10287
 
 
10288
  // Build and add a new unit. 
 
10289
  Unit *newUnit (const char *, Source *in = (Source*) 0, bool = false);
 
10290
        
 
10291
  // Get a unit by name. 
 
10292
  Unit *getUnit (const char *name, bool = false) const;
 
10293
                        
 
10294
  // Print given unit to the given outstream. If no
 
10295
  // name is given, print all units.
 
10296
  void print (const char *name = (const char*) 0, bool = false, 
 
10297
              ostream &out = cout) const;
 
10298
 
 
10299
  // Destroy all noname units.
 
10300
  void removeNonames ();
 
10301
      
 
10302
  // Initialize the unit manager and the managed 
 
10303
  // units for the next parse process.
 
10304
  
 
10305
#line 10306 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10306
public: __attribute__((always_inline)) inline void __exec_old_init();
 
10307
 
 
10308
#line 90 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitManager.h"
 
10309
void init ();
 
10310
};
 
10311
 
 
10312
 
 
10313
} // namespace Puma
 
10314
 
 
10315
#endif /* __UnitManager__ */
 
10316
 
 
10317
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
9953
10318
// This file is part of PUMA.
9954
10319
// Copyright (C) 1999-2003  The PUMA developer team.
9955
10320
//                                                                
9976
10341
 
9977
10342
// Project file save mode.
9978
10343
 
9979
 
#line 9980 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10344
#line 10345 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
9980
10345
} // closed Puma
 
10346
class CCExprResolve;
 
10347
class CExprResolve;
9981
10348
class WinIfExists;
9982
10349
class WinImportHandler;
9983
10350
class WinMacros;
9984
 
class CMatchSyntax;
9985
 
class ExtGnu;
 
10351
class WinAsm;
 
10352
class WinDeclSpecs;
 
10353
class WinMemberExplSpec;
 
10354
class WinTypeKeywords;
 
10355
class WinFriend;
9986
10356
class ExtAC;
9987
10357
class ExtACBuilderCoupling;
9988
10358
class ExtACSyntaxCoupling;
9989
10359
class ExtACTree;
9990
10360
class ExtACKeywords;
9991
 
class WinAsm;
9992
 
class WinDeclSpecs;
9993
 
class WinMemberExplSpec;
9994
 
class WinTypeKeywords;
 
10361
class ExtGnu;
9995
10362
class PragmaOnceUnitState;
9996
10363
class PragmaOnce;
9997
 
class CCExprResolve;
9998
 
class CExprResolve;
 
10364
class CMatchSyntax;
9999
10365
namespace Puma {
10000
10366
 
10001
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
10367
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
10002
10368
struct SaveMode {
10003
 
#line 10004 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10369
#line 10370 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10370
  friend class ::CCExprResolve;
 
10371
  friend class ::CExprResolve;
10004
10372
  friend class ::WinIfExists;
10005
10373
  friend class ::WinImportHandler;
10006
10374
  friend class ::WinMacros;
10007
 
  friend class ::CMatchSyntax;
10008
 
  friend class ::ExtGnu;
 
10375
  friend class ::WinAsm;
 
10376
  friend class ::WinDeclSpecs;
 
10377
  friend class ::WinMemberExplSpec;
 
10378
  friend class ::WinTypeKeywords;
 
10379
  friend class ::WinFriend;
10009
10380
  friend class ::ExtAC;
10010
10381
  friend class ::ExtACBuilderCoupling;
10011
10382
  friend class ::ExtACSyntaxCoupling;
10012
10383
  friend class ::ExtACTree;
10013
10384
  friend class ::ExtACKeywords;
10014
 
  friend class ::WinAsm;
10015
 
  friend class ::WinDeclSpecs;
10016
 
  friend class ::WinMemberExplSpec;
10017
 
  friend class ::WinTypeKeywords;
 
10385
  friend class ::ExtGnu;
10018
10386
  friend class ::PragmaOnceUnitState;
10019
10387
  friend class ::PragmaOnce;
10020
 
  friend class ::CCExprResolve;
10021
 
  friend class ::CExprResolve;
 
10388
  friend class ::CMatchSyntax;
10022
10389
 
10023
 
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/SaveMode.h"
 
10390
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/SaveMode.h"
10024
10391
 
10025
10392
  enum Mode { 
10026
10393
    OVERWRITE = 1, 
10034
10401
 
10035
10402
#endif /* __SaveMode__ */
10036
10403
 
10037
 
#line 28 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
10404
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
10038
10405
#include <fstream>
10039
10406
 
10040
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
10407
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
10041
10408
using namespace std;
10042
10409
 
10043
10410
namespace Puma {
10044
10411
 
10045
10412
 
10046
10413
 
10047
 
#line 10048 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10414
#line 10415 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10048
10415
} // closed Puma
 
10416
class CCExprResolve;
 
10417
class CExprResolve;
10049
10418
class WinIfExists;
10050
10419
class WinImportHandler;
10051
10420
class WinMacros;
10052
 
class CMatchSyntax;
10053
 
class ExtGnu;
 
10421
class WinAsm;
 
10422
class WinDeclSpecs;
 
10423
class WinMemberExplSpec;
 
10424
class WinTypeKeywords;
 
10425
class WinFriend;
10054
10426
class ExtAC;
10055
10427
class ExtACBuilderCoupling;
10056
10428
class ExtACSyntaxCoupling;
10057
10429
class ExtACTree;
10058
10430
class ExtACKeywords;
10059
 
class WinAsm;
10060
 
class WinDeclSpecs;
10061
 
class WinMemberExplSpec;
10062
 
class WinTypeKeywords;
 
10431
class ExtGnu;
10063
10432
class PragmaOnceUnitState;
10064
10433
class PragmaOnce;
10065
 
class CCExprResolve;
10066
 
class CExprResolve;
 
10434
class CMatchSyntax;
10067
10435
namespace Puma {
10068
10436
 
10069
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
10437
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
10070
10438
class Project : public PathManager, public SaveMode {
10071
 
#line 10072 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10439
#line 10440 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10440
  friend class ::CCExprResolve;
 
10441
  friend class ::CExprResolve;
10072
10442
  friend class ::WinIfExists;
10073
10443
  friend class ::WinImportHandler;
10074
10444
  friend class ::WinMacros;
10075
 
  friend class ::CMatchSyntax;
10076
 
  friend class ::ExtGnu;
 
10445
  friend class ::WinAsm;
 
10446
  friend class ::WinDeclSpecs;
 
10447
  friend class ::WinMemberExplSpec;
 
10448
  friend class ::WinTypeKeywords;
 
10449
  friend class ::WinFriend;
10077
10450
  friend class ::ExtAC;
10078
10451
  friend class ::ExtACBuilderCoupling;
10079
10452
  friend class ::ExtACSyntaxCoupling;
10080
10453
  friend class ::ExtACTree;
10081
10454
  friend class ::ExtACKeywords;
10082
 
  friend class ::WinAsm;
10083
 
  friend class ::WinDeclSpecs;
10084
 
  friend class ::WinMemberExplSpec;
10085
 
  friend class ::WinTypeKeywords;
 
10455
  friend class ::ExtGnu;
10086
10456
  friend class ::PragmaOnceUnitState;
10087
10457
  friend class ::PragmaOnce;
10088
 
  friend class ::CCExprResolve;
10089
 
  friend class ::CExprResolve;
 
10458
  friend class ::CMatchSyntax;
10090
10459
 
10091
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Project.h"
 
10460
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Project.h"
10092
10461
 
10093
10462
  UnitManager  _unitManager; 
10094
10463
  const char  *_suffix;           // Current file name suffix.
10175
10544
 
10176
10545
#endif /* __project__ */
10177
10546
 
10178
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
10547
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
10179
10548
 
10180
 
#line 10181 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10549
#line 10550 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10181
10550
 
10182
10551
#ifndef __ac_fwd_ExtACKeywords__
10183
10552
#define __ac_fwd_ExtACKeywords__
10184
10553
class ExtACKeywords;
10185
10554
namespace AC {
10186
 
  template <class JoinPoint, class Binding>
10187
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
10188
 
  template <class JoinPoint, class Binding>
10189
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
10190
 
  template <class JoinPoint>
10191
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
 
10555
  template <class JoinPoint>
 
10556
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp);
 
10557
  template <class JoinPoint>
 
10558
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp);
 
10559
  template <class JoinPoint>
 
10560
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp);
10192
10561
}
10193
10562
#endif
10194
10563
 
10195
 
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
10196
 
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
10564
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
10565
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
10197
10566
#endif
10198
10567
 
10199
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
10568
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
10200
10569
// This file is part of PUMA.
10201
10570
// Copyright (C) 1999-2003  The PUMA developer team.
10202
10571
//                                                                
10233
10602
class Token;
10234
10603
 
10235
10604
 
10236
 
#line 10237 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10605
#line 10606 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10237
10606
} // closed Puma
 
10607
class CCExprResolve;
 
10608
class CExprResolve;
10238
10609
class WinIfExists;
10239
10610
class WinImportHandler;
10240
10611
class WinMacros;
10241
 
class CMatchSyntax;
10242
 
class ExtGnu;
 
10612
class WinAsm;
 
10613
class WinDeclSpecs;
 
10614
class WinMemberExplSpec;
 
10615
class WinTypeKeywords;
 
10616
class WinFriend;
10243
10617
class ExtAC;
10244
10618
class ExtACBuilderCoupling;
10245
10619
class ExtACSyntaxCoupling;
10246
10620
class ExtACTree;
10247
10621
class ExtACKeywords;
10248
 
class WinAsm;
10249
 
class WinDeclSpecs;
10250
 
class WinMemberExplSpec;
10251
 
class WinTypeKeywords;
 
10622
class ExtGnu;
10252
10623
class PragmaOnceUnitState;
10253
10624
class PragmaOnce;
10254
 
class CCExprResolve;
10255
 
class CExprResolve;
 
10625
class CMatchSyntax;
10256
10626
namespace Puma {
10257
10627
 
10258
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
10628
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
10259
10629
class CScanner : public CRecognizer, public Tokenizer {
10260
 
#line 10261 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10630
#line 10631 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10631
  friend class ::CCExprResolve;
 
10632
  friend class ::CExprResolve;
10261
10633
  friend class ::WinIfExists;
10262
10634
  friend class ::WinImportHandler;
10263
10635
  friend class ::WinMacros;
10264
 
  friend class ::CMatchSyntax;
10265
 
  friend class ::ExtGnu;
 
10636
  friend class ::WinAsm;
 
10637
  friend class ::WinDeclSpecs;
 
10638
  friend class ::WinMemberExplSpec;
 
10639
  friend class ::WinTypeKeywords;
 
10640
  friend class ::WinFriend;
10266
10641
  friend class ::ExtAC;
10267
10642
  friend class ::ExtACBuilderCoupling;
10268
10643
  friend class ::ExtACSyntaxCoupling;
10269
10644
  friend class ::ExtACTree;
10270
10645
  friend class ::ExtACKeywords;
10271
 
  friend class ::WinAsm;
10272
 
  friend class ::WinDeclSpecs;
10273
 
  friend class ::WinMemberExplSpec;
10274
 
  friend class ::WinTypeKeywords;
 
10646
  friend class ::ExtGnu;
10275
10647
  friend class ::PragmaOnceUnitState;
10276
10648
  friend class ::PragmaOnce;
10277
 
  friend class ::CCExprResolve;
10278
 
  friend class ::CExprResolve;
 
10649
  friend class ::CMatchSyntax;
10279
10650
 
10280
 
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
10651
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
10281
10652
 
10282
10653
  Location loc;
10283
10654
  ErrorSink &err;
10292
10663
  virtual ~CScanner () {}
10293
10664
  void configure (const Config &);
10294
10665
  
10295
 
#line 10296 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
10296
 
public: inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
 
10666
#line 10667 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10667
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(::Puma::Source & in,::Puma::Unit & unit);
10297
10668
 
10298
 
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
10669
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
10299
10670
void fill_unit (Source &in, Unit &unit);
10300
10671
  
10301
 
#line 10302 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
10302
 
public: inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
 
10672
#line 10673 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10673
public: __attribute__((always_inline)) inline void __exec_old_fill_unit(const char * in,::Puma::Unit & unit);
10303
10674
 
10304
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CScanner.h"
 
10675
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CScanner.h"
10305
10676
void fill_unit (const char *in, Unit &unit);
10306
10677
};
10307
10678
 
10310
10681
 
10311
10682
#endif /* __c_scanner_h__ */
10312
10683
 
10313
 
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
10684
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
10314
10685
namespace Puma {
10315
10686
 
10316
10687
 
10318
10689
class CTypeInfo;
10319
10690
 
10320
10691
 
10321
 
#line 10322 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10692
#line 10693 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10322
10693
} // closed Puma
 
10694
class CCExprResolve;
 
10695
class CExprResolve;
10323
10696
class WinIfExists;
10324
10697
class WinImportHandler;
10325
10698
class WinMacros;
10326
 
class CMatchSyntax;
10327
 
class ExtGnu;
 
10699
class WinAsm;
 
10700
class WinDeclSpecs;
 
10701
class WinMemberExplSpec;
 
10702
class WinTypeKeywords;
 
10703
class WinFriend;
10328
10704
class ExtAC;
10329
10705
class ExtACBuilderCoupling;
10330
10706
class ExtACSyntaxCoupling;
10331
10707
class ExtACTree;
10332
10708
class ExtACKeywords;
10333
 
class WinAsm;
10334
 
class WinDeclSpecs;
10335
 
class WinMemberExplSpec;
10336
 
class WinTypeKeywords;
 
10709
class ExtGnu;
10337
10710
class PragmaOnceUnitState;
10338
10711
class PragmaOnce;
10339
 
class CCExprResolve;
10340
 
class CExprResolve;
 
10712
class CMatchSyntax;
10341
10713
namespace Puma {
10342
10714
 
10343
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
10715
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
10344
10716
class CProject : public Project {
10345
 
#line 10346 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10717
#line 10718 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10718
  friend class ::CCExprResolve;
 
10719
  friend class ::CExprResolve;
10346
10720
  friend class ::WinIfExists;
10347
10721
  friend class ::WinImportHandler;
10348
10722
  friend class ::WinMacros;
10349
 
  friend class ::CMatchSyntax;
10350
 
  friend class ::ExtGnu;
 
10723
  friend class ::WinAsm;
 
10724
  friend class ::WinDeclSpecs;
 
10725
  friend class ::WinMemberExplSpec;
 
10726
  friend class ::WinTypeKeywords;
 
10727
  friend class ::WinFriend;
10351
10728
  friend class ::ExtAC;
10352
10729
  friend class ::ExtACBuilderCoupling;
10353
10730
  friend class ::ExtACSyntaxCoupling;
10354
10731
  friend class ::ExtACTree;
10355
10732
  friend class ::ExtACKeywords;
10356
 
  friend class ::WinAsm;
10357
 
  friend class ::WinDeclSpecs;
10358
 
  friend class ::WinMemberExplSpec;
10359
 
  friend class ::WinTypeKeywords;
 
10733
  friend class ::ExtGnu;
10360
10734
  friend class ::PragmaOnceUnitState;
10361
10735
  friend class ::PragmaOnce;
10362
 
  friend class ::CCExprResolve;
10363
 
  friend class ::CExprResolve;
 
10736
  friend class ::CMatchSyntax;
10364
10737
 
10365
 
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
10738
#line 35 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
10366
10739
 
10367
10740
  Config _config;
10368
10741
  CScanner _scanner;
10398
10771
  // Scan the file `file' or the source if given. When
10399
10772
  // scanning a source the resulting unit gets the name `file'.
10400
10773
  
10401
 
#line 10402 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
10402
 
public: inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
 
10774
#line 10775 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10775
public: __attribute__((always_inline)) inline ::Puma::Unit * __exec_old_scanFile(const char * file,::Puma::Source * ,bool isFile);
10403
10776
 
10404
 
#line 69 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CProject.h"
 
10777
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/CProject.h"
10405
10778
virtual Unit *scanFile (const char *file, Source * = (Source*)0, 
10406
10779
                          bool isFile = true);
10407
10780
        
10431
10804
 
10432
10805
#endif /* __CProject_h__ */
10433
10806
 
10434
 
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
10807
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
10435
10808
// This file is part of PUMA.
10436
10809
// Copyright (C) 1999-2003  The PUMA developer team.
10437
10810
//                                                                
10457
10830
// absolute path of the corresponding file.
10458
10831
 
10459
10832
 
10460
 
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
10833
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
10461
10834
namespace Puma {
10462
10835
 
10463
10836
 
10464
10837
class Project;
10465
10838
 
10466
10839
 
10467
 
#line 10468 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10840
#line 10841 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10468
10841
} // closed Puma
 
10842
class CCExprResolve;
 
10843
class CExprResolve;
10469
10844
class WinIfExists;
10470
10845
class WinImportHandler;
10471
10846
class WinMacros;
10472
 
class CMatchSyntax;
10473
 
class ExtGnu;
 
10847
class WinAsm;
 
10848
class WinDeclSpecs;
 
10849
class WinMemberExplSpec;
 
10850
class WinTypeKeywords;
 
10851
class WinFriend;
10474
10852
class ExtAC;
10475
10853
class ExtACBuilderCoupling;
10476
10854
class ExtACSyntaxCoupling;
10477
10855
class ExtACTree;
10478
10856
class ExtACKeywords;
10479
 
class WinAsm;
10480
 
class WinDeclSpecs;
10481
 
class WinMemberExplSpec;
10482
 
class WinTypeKeywords;
 
10857
class ExtGnu;
10483
10858
class PragmaOnceUnitState;
10484
10859
class PragmaOnce;
10485
 
class CCExprResolve;
10486
 
class CExprResolve;
 
10860
class CMatchSyntax;
10487
10861
namespace Puma {
10488
10862
 
10489
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
10863
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
10490
10864
class FileUnit : public Unit {
10491
 
#line 10492 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10865
#line 10866 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10866
  friend class ::CCExprResolve;
 
10867
  friend class ::CExprResolve;
10492
10868
  friend class ::WinIfExists;
10493
10869
  friend class ::WinImportHandler;
10494
10870
  friend class ::WinMacros;
10495
 
  friend class ::CMatchSyntax;
10496
 
  friend class ::ExtGnu;
 
10871
  friend class ::WinAsm;
 
10872
  friend class ::WinDeclSpecs;
 
10873
  friend class ::WinMemberExplSpec;
 
10874
  friend class ::WinTypeKeywords;
 
10875
  friend class ::WinFriend;
10497
10876
  friend class ::ExtAC;
10498
10877
  friend class ::ExtACBuilderCoupling;
10499
10878
  friend class ::ExtACSyntaxCoupling;
10500
10879
  friend class ::ExtACTree;
10501
10880
  friend class ::ExtACKeywords;
10502
 
  friend class ::WinAsm;
10503
 
  friend class ::WinDeclSpecs;
10504
 
  friend class ::WinMemberExplSpec;
10505
 
  friend class ::WinTypeKeywords;
 
10881
  friend class ::ExtGnu;
10506
10882
  friend class ::PragmaOnceUnitState;
10507
10883
  friend class ::PragmaOnce;
10508
 
  friend class ::CCExprResolve;
10509
 
  friend class ::CExprResolve;
 
10884
  friend class ::CMatchSyntax;
10510
10885
 
10511
 
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/FileUnit.h"
 
10886
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/FileUnit.h"
10512
10887
 
10513
10888
  char *_lastLocation; 
10514
10889
  char *_absolutePath;
10574
10949
 
10575
10950
#endif /* __FileUnit__ */
10576
10951
 
10577
 
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10578
 
using namespace Puma;
10579
 
 
 
10952
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10580
10953
// *****************************************
10581
10954
// AspectC++ keyword handling in the scanner
10582
10955
// *****************************************
10583
10956
 
10584
 
#line 10585 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10957
#line 10958 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10958
class CCExprResolve;
 
10959
class CExprResolve;
10585
10960
class WinIfExists;
10586
10961
class WinImportHandler;
10587
10962
class WinMacros;
10588
 
class CMatchSyntax;
10589
 
class ExtGnu;
 
10963
class WinAsm;
 
10964
class WinDeclSpecs;
 
10965
class WinMemberExplSpec;
 
10966
class WinTypeKeywords;
 
10967
class WinFriend;
10590
10968
class ExtAC;
10591
10969
class ExtACBuilderCoupling;
10592
10970
class ExtACSyntaxCoupling;
10593
10971
class ExtACTree;
10594
 
class WinAsm;
10595
 
class WinDeclSpecs;
10596
 
class WinMemberExplSpec;
10597
 
class WinTypeKeywords;
 
10972
class ExtGnu;
10598
10973
class PragmaOnceUnitState;
10599
10974
class PragmaOnce;
10600
 
class CCExprResolve;
10601
 
class CExprResolve;
 
10975
class CMatchSyntax;
10602
10976
 
10603
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
10977
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10604
10978
class ExtACKeywords {
10605
 
#line 10606 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10979
#line 10980 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10606
10980
 
10607
10981
public:
10608
10982
  static ExtACKeywords *aspectof () {
10614
10988
  }
10615
10989
private:
10616
10990
 
10617
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
10991
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10618
10992
 
10619
 
#line 10620 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10993
#line 10994 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
10994
  friend class ::CCExprResolve;
 
10995
  friend class ::CExprResolve;
10620
10996
  friend class ::WinIfExists;
10621
10997
  friend class ::WinImportHandler;
10622
10998
  friend class ::WinMacros;
10623
 
  friend class ::CMatchSyntax;
10624
 
  friend class ::ExtGnu;
 
10999
  friend class ::WinAsm;
 
11000
  friend class ::WinDeclSpecs;
 
11001
  friend class ::WinMemberExplSpec;
 
11002
  friend class ::WinTypeKeywords;
 
11003
  friend class ::WinFriend;
10625
11004
  friend class ::ExtAC;
10626
11005
  friend class ::ExtACBuilderCoupling;
10627
11006
  friend class ::ExtACSyntaxCoupling;
10628
11007
  friend class ::ExtACTree;
10629
 
  friend class ::WinAsm;
10630
 
  friend class ::WinDeclSpecs;
10631
 
  friend class ::WinMemberExplSpec;
10632
 
  friend class ::WinTypeKeywords;
 
11008
  friend class ::ExtGnu;
10633
11009
  friend class ::PragmaOnceUnitState;
10634
11010
  friend class ::PragmaOnce;
10635
 
  friend class ::CCExprResolve;
10636
 
  friend class ::CExprResolve;
 
11011
  friend class ::CMatchSyntax;
10637
11012
 
10638
 
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11013
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10639
11014
 
10640
11015
 
10641
11016
  bool _prj_keywords;
10642
 
  CProject *_project; // active project
 
11017
  Puma::CProject *_project; // active project
10643
11018
  
10644
11019
protected:
10645
11020
  ExtACKeywords () : _prj_keywords (false) {}
 
11021
  
10646
11022
public:
10647
11023
  // allow/forbid AspectC++ keywords in normal project files
10648
11024
  void prj_keywords (bool kw) { _prj_keywords = kw; }
10649
11025
  
10650
11026
  
10651
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11027
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10652
11028
 
10653
11029
public: void __a0_before 
10654
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11030
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10655
11031
 
10656
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10657
 
(CProject &project)
10658
 
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11032
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11033
(Puma::CProject &project)
 
11034
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10659
11035
 {
10660
11036
    _project = &project;
10661
11037
  }
10662
11038
  
10663
11039
  
10664
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11040
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10665
11041
 
10666
11042
public: template<class JoinPoint> void __a1_before 
10667
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11043
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10668
11044
 
10669
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10670
 
(JoinPoint *tjp, Unit &unit)
10671
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11045
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11046
(JoinPoint *tjp, Puma::Unit &unit)
 
11047
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10672
11048
 {
10673
 
#line 10674 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
11049
#line 11050 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10674
11050
 
10675
11051
  typedef typename JoinPoint::That __JP_That;
10676
11052
  typedef typename JoinPoint::Target __JP_Target;
10677
11053
  typedef typename JoinPoint::Result __JP_Result;
10678
11054
 
10679
 
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11055
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10680
11056
 
10681
11057
    if (!unit.isFile ())
10682
11058
      return;
10683
11059
      
10684
11060
    bool ac_kw = _prj_keywords;
10685
11061
    // in external files the AspectC++ keywords are always identifiers
10686
 
    if (!((FileUnit*)&unit)->belongsTo (*_project)) {
 
11062
    if (!((Puma::FileUnit*)&unit)->belongsTo (*_project)) {
10687
11063
      ac_kw = false;
10688
11064
    }
10689
11065
    // in aspect headers keywords are keywords
10696
11072
  }
10697
11073
  
10698
11074
  
10699
 
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11075
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10700
11076
 
10701
11077
public: template<class JoinPoint> void __a2_before 
10702
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11078
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10703
11079
 
10704
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11080
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10705
11081
(JoinPoint *tjp)
10706
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11082
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10707
11083
 {
10708
 
#line 10709 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
11084
#line 11085 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10709
11085
 
10710
11086
  typedef typename JoinPoint::That __JP_That;
10711
11087
  typedef typename JoinPoint::Target __JP_Target;
10712
11088
  typedef typename JoinPoint::Result __JP_Result;
10713
11089
 
10714
 
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11090
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10715
11091
 
10716
11092
    _project = tjp->that ();
10717
11093
  }
10718
11094
};
10719
 
#line 10720 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreFileIncluder.cc"
 
11095
#line 11096 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreFileIncluder.cc"
10720
11096
 
10721
11097
namespace AC {
10722
 
  template <class JoinPoint, class Binding>
10723
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
10724
 
    typedef typename Binding::template Arg<0> Arg0;
 
11098
  template <class JoinPoint>
 
11099
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
 
11100
    typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a0_before::template Arg<0> Arg0;
10725
11101
    ::ExtACKeywords::aspectof()->__a0_before ((Puma::CProject &)Arg0::val (tjp));
10726
11102
  }
10727
 
  template <class JoinPoint, class Binding>
10728
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
10729
 
    typedef typename Binding::template Arg<0> Arg0;
 
11103
  template <class JoinPoint>
 
11104
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
 
11105
    typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a1_before::template Arg<0> Arg0;
10730
11106
    ::ExtACKeywords::aspectof()->__a1_before (tjp, (Puma::Unit &)Arg0::val (tjp));
10731
11107
  }
10732
11108
  template <class JoinPoint>
10733
 
  inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
 
11109
  __attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
10734
11110
    ::ExtACKeywords::aspectof()->__a2_before (tjp);
10735
11111
  }
10736
11112
10737
11113
 
10738
 
#line 71 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
 
11114
#line 72 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
10739
11115
  
10740
11116
 
10741
11117
#endif /* __ext_ac_keywords_ah__ */
10742
11118
 
10743
 
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
10744
 
#endif
10745
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__)
10746
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
11119
#line 163 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
11120
#endif
 
11121
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11122
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11123
#include "PragmaOnceUnitState.ah"
 
11124
#endif
 
11125
#endif
 
11126
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
11127
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11128
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11129
#include "ExtACTree.ah"
 
11130
#endif
 
11131
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
11132
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
11133
#include "ExtGnu.ah"
 
11134
#endif
 
11135
#endif
 
11136
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
11137
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11138
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
11139
#include "ExtACTree.ah"
 
11140
#endif
 
11141
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
11142
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
 
11143
#include "ExtGnuCSemDeclSpecs.ah"
 
11144
#endif
 
11145
#endif
 
11146
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11147
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11148
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11149
#include "PragmaOnceUnitState.ah"
 
11150
#endif
 
11151
#endif
 
11152
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
11153
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11154
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
11155
#include "PragmaOnceUnitState.ah"
 
11156
#endif
 
11157
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
11158
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
11159
 
 
11160
#line 203 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreFileIncluder.cc"
 
11161
#endif
 
11162
#endif
 
11163
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
11164
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
11165
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
10747
11166
#include "TraceSyntax.ah"
10748
11167
#endif
10749
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__)
10750
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__
10751
 
#include "WinAsm.ah"
10752
 
#endif
10753
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__)
10754
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
10755
 
#include "WinDeclSpecs.ah"
10756
 
#endif
10757
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__)
10758
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
10759
 
#include "WinMemberExplSpec.ah"
10760
 
#endif
10761
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__)
10762
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
10763
 
#include "WinTypeKeywords.ah"
10764
 
#endif
10765
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__)
10766
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
10767
 
 
10768
 
#line 75 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
10769
 
#endif
10770
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__)
10771
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
10772
 
 
10773
 
#line 79 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreFileIncluder.cc"
10774
 
#endif
10775
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__)
10776
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
10777
 
#include "CCExprResolveH.ah"
10778
 
#endif
10779
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__)
10780
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
10781
 
#include "CCExprResolveCC.ah"
10782
 
#endif
10783
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__)
10784
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__
10785
 
#include "CExprResolveH.ah"
10786
 
#endif
10787
 
#if !defined(__ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__) && defined(__ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__)
10788
 
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
10789
 
#include "CExprResolveCC.ah"
10790
 
#endif
10791
 
/*** end of aspect includes ***/
10792
 
#undef __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
10793
 
#undef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreFileIncluder_cc__
10794
 
#endif // __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreFileIncluder_cc__
 
11168
#endif
 
11169
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
11170
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
11171
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
11172
#include "CMatchSyntax.ah"
 
11173
#endif
 
11174
#endif
 
11175
#undef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
 
11176
#undef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreFileIncluder_cc__
 
11177
#endif // __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreFileIncluder_cc__