~ubuntu-branches/ubuntu/utopic/aspectc++/utopic

« back to all changes in this revision

Viewing changes to Puma/include/Puma/ExtGnu.ah

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2006-04-07 11:56:35 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20060407115635-e8wfgmetasrf2p27
Tags: 0.99+1.0pre3-1
* new upstream release
* Apply patch from Martin Michlmayr for g++-4.1 (Closes: #357901)
* further (simple) patches in Puma/ and AspectC++ for g++-4.1
* note that Puma needs to be rewoven so that it can be compiled
  with g++-4.1. This will be done we switch the default compiler
  version.
* Patch JoinPointRepo.cc so that it doesn't loop endlessly anymore.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
2
 
#define __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
3
 
#define __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
1
#ifndef __ac_FIRST__tmp_AOP_LIN_AOP_Puma_gen45release_step1__
 
2
#define __ac_FIRST__tmp_AOP_LIN_AOP_Puma_gen45release_step1__
 
3
#define __ac_FIRST_FILE__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtGnu_ah__
4
4
 
5
5
#ifndef __ac_h_
6
6
#define __ac_h_
32
32
inline void * operator new (__SIZE_TYPE__, AC::AnyResultBuffer *p) { return p; }
33
33
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
34
34
#endif // __ac_h_
35
 
#endif // __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
36
 
 
37
 
#line 1 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
35
#endif // __ac_FIRST__tmp_AOP_LIN_AOP_Puma_gen45release_step1__
38
36
// This file is part of PUMA.
39
37
// Copyright (C) 1999-2003  The PUMA developer team.
40
38
//                                                                
73
71
 
74
72
using namespace Puma;
75
73
 
76
 
 
77
 
 
78
 
#line 79 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
 
74
namespace Puma {
 
75
  
 
76
  
 
77
  
 
78
  
 
79
  
 
80
  
 
81
  
 
82
  
 
83
  
 
84
  
 
85
}
 
86
 
79
87
class WinIfExists;
80
88
class WinImportHandler;
81
89
class WinMacros;
82
90
class CMatchSyntax;
83
91
class ExtAC;
 
92
class ExtACBuilderCoupling;
 
93
class ExtACSyntaxCoupling;
84
94
class ExtACTree;
 
95
class ExtACKeywords;
85
96
class WinAsm;
86
97
class WinDeclSpecs;
87
98
class WinMemberExplSpec;
90
101
class PragmaOnce;
91
102
class CCExprResolve;
92
103
class CExprResolve;
93
 
 
94
 
#line 40 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
95
104
class ExtGnu {
96
 
#line 97 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
97
 
 
98
105
public:
99
106
  static ExtGnu *aspectof () {
100
107
    static ExtGnu __instance;
104
111
    return aspectof ();
105
112
  }
106
113
private:
107
 
 
108
 
#line 40 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
109
 
 
110
 
#line 111 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
111
114
  friend class ::WinIfExists;
112
115
  friend class ::WinImportHandler;
113
116
  friend class ::WinMacros;
114
117
  friend class ::CMatchSyntax;
115
118
  friend class ::ExtAC;
 
119
  friend class ::ExtACBuilderCoupling;
 
120
  friend class ::ExtACSyntaxCoupling;
116
121
  friend class ::ExtACTree;
 
122
  friend class ::ExtACKeywords;
117
123
  friend class ::WinAsm;
118
124
  friend class ::WinDeclSpecs;
119
125
  friend class ::WinMemberExplSpec;
123
129
  friend class ::CCExprResolve;
124
130
  friend class ::CExprResolve;
125
131
 
126
 
#line 40 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
127
 
 
128
132
 
129
133
  // flags to enable/disable certain Gnu features
130
134
  bool extended_asm;
136
140
 
137
141
  // pointcut definitions
138
142
  
139
 
#line 51 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
140
 
 
141
 
  
142
 
#line 52 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
143
 
 
144
 
  
145
 
#line 53 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
146
 
 
147
 
  
148
 
#line 54 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
149
 
 
150
 
  
151
 
#line 55 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
152
 
 
153
 
 
154
 
public:
155
 
  // extend the C Builder
156
 
  
157
 
#line 59 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
158
 
 
159
 
  
160
 
#line 60 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
161
 
 
162
 
  
163
 
#line 61 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
164
 
 
165
 
  
166
 
#line 62 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
167
 
 
168
 
  
169
 
#line 63 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
170
 
 
171
 
 
172
 
  // add rules to the C Syntax
173
 
  
174
 
#line 66 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
175
 
 
176
 
  
177
 
#line 67 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
178
 
 
179
 
  
180
 
#line 68 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
181
 
 
182
 
  
183
 
#line 69 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
184
 
 
185
 
  
186
 
#line 70 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
187
 
 
188
 
 
189
 
  // extend the C/C++ semantic
190
 
  
191
 
#line 73 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
192
 
 
193
 
  
 
143
  
 
144
  
 
145
  
 
146
  
 
147
 
 
148
  // ----------------------------------------------------
 
149
  // the Gnu ASM syntax
 
150
  // ----------------------------------------------------
 
151
 
 
152
  // structural extensions
 
153
  
 
154
  
 
155
 
194
156
  // extended asm statement
195
157
  
196
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
197
 
 
198
 
public: template<class JoinPoint> void __a0_after 
199
 
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
200
 
(JoinPoint *tjp, CSyntax *syntax)
201
 
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
202
 
 
203
 
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
204
 
 {
205
 
#line 206 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
206
 
 
 
158
public: template<class JoinPoint> void __a0_after (JoinPoint *tjp, CSyntax *syntax) {
207
159
  typedef typename JoinPoint::That __JP_That;
208
160
  typedef typename JoinPoint::Target __JP_Target;
209
161
  typedef typename JoinPoint::Result __JP_Result;
210
162
 
211
 
#line 77 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
212
 
 
213
163
    CTree *&result = *(CTree**)tjp->result ();
214
164
    if (extended_asm && !result &&
215
 
        ((__JP_That
216
 
#line 80 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
217
 
*)syntax)->look_ahead (TOK_ASM) &&
218
 
        ((__JP_That
219
 
#line 81 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
220
 
*)syntax)->parse (&__JP_That
221
 
#line 81 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
222
 
::gnu_asm_def)) {
223
 
      result = ((__JP_That
224
 
#line 82 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
225
 
*)syntax)->builder().simple_decl ();
 
165
        ((__JP_That*)syntax)->look_ahead (TOK_ASM) &&
 
166
        ((__JP_That*)syntax)->parse (&__JP_That::gnu_asm_def)) {
 
167
      result = ((__JP_That*)syntax)->builder().simple_decl ();
226
168
    }
227
169
  }
 
170
private:
 
171
 
228
172
 
229
173
  // extended asm statement
230
174
  
231
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
232
 
 
233
 
public: template<class JoinPoint> void __a1_around 
234
 
#line 88 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
235
 
(JoinPoint *tjp, CSyntax *syn)
236
 
#line 88 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
237
 
 
238
 
#line 88 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
239
 
 {
240
 
#line 241 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
241
 
 
 
175
public: template<class JoinPoint> void __a1_around (JoinPoint *tjp, CSyntax *syn) {
242
176
  typedef typename JoinPoint::That __JP_That;
243
177
  typedef typename JoinPoint::Target __JP_Target;
244
178
  typedef typename JoinPoint::Result __JP_Result;
245
179
 
246
 
#line 88 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
247
 
 
248
180
    if (extended_asm)
249
 
      *tjp->result () = ((__JP_That
250
 
#line 90 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
251
 
*)syn)->gnu_asm_def ();
 
181
      *tjp->result () = ((__JP_That*)syn)->gnu_asm_def ();
252
182
    else
253
183
      tjp->proceed ();
254
184
  }
 
185
private:
 
186
 
 
187
 
 
188
  // ----------------------------------------------------
 
189
  // the 'restrict' keyword
 
190
  // ----------------------------------------------------
255
191
 
256
192
  // extended cv qualifier
257
193
  
258
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
259
 
 
260
 
public: template<class JoinPoint> void __a2_after 
261
 
#line 96 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
262
 
(JoinPoint *tjp)
263
 
#line 96 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
264
 
 
265
 
#line 96 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
266
 
 {
267
 
#line 268 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
268
 
 
 
194
public: template<class JoinPoint> void __a2_after (JoinPoint *tjp) {
269
195
  typedef typename JoinPoint::That __JP_That;
270
196
  typedef typename JoinPoint::Target __JP_Target;
271
197
  typedef typename JoinPoint::Result __JP_Result;
272
198
 
273
 
#line 96 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
274
 
 
275
199
    if (extended_cv_qual)
276
200
      tjp->that ()->_cv_qual_1.set (TOK_RESTRICT);
277
201
  }
278
 
 
279
 
  // ----------------------
280
 
  // expression statements
281
 
  // ----------------------
 
202
private:
 
203
 
 
204
 
 
205
  // -------------------------
 
206
  // Gnu statement expressions 
 
207
  // -------------------------
282
208
 
283
209
  // pointcut definitions
284
210
  
285
 
#line 106 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
286
 
 
287
 
  
288
 
#line 107 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
289
 
 
290
 
 
291
 
  // extend the C Builder
292
 
  
293
 
#line 110 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
294
 
 
 
211
  
 
212
 
 
213
  // structural extensions
 
214
  
 
215
  
 
216
  
295
217
 
296
218
  // extended primary expression syntax
297
219
  
298
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
299
 
 
300
 
public: template<class JoinPoint> void __a3_around 
301
 
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
302
 
(JoinPoint *tjp)
303
 
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
304
 
 
305
 
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
306
 
 {
307
 
#line 308 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
308
 
 
 
220
public: template<class JoinPoint> void __a3_around (JoinPoint *tjp) {
309
221
  typedef typename JoinPoint::That __JP_That;
310
222
  typedef typename JoinPoint::Target __JP_Target;
311
223
  typedef typename JoinPoint::Result __JP_Result;
312
224
 
313
 
#line 114 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
314
 
 
315
 
    __JP_That
316
 
#line 115 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
317
 
 *syntax = tjp->that ();
 
225
    __JP_That *syntax = tjp->that ();
318
226
    if (statement_exprs &&
319
 
        ((__JP_That
320
 
#line 117 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
321
 
*)syntax)->look_ahead (TOK_OPEN_ROUND) &&
322
 
        ((__JP_That
323
 
#line 118 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
324
 
*)syntax)->look_ahead (TOK_OPEN_CURLY, 2)) {
 
227
        ((__JP_That*)syntax)->look_ahead (TOK_OPEN_ROUND) &&
 
228
        ((__JP_That*)syntax)->look_ahead (TOK_OPEN_CURLY, 2)) {
325
229
      CTree *&result = *(CTree**)tjp->result ();
326
 
      ((__JP_That
327
 
#line 120 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
328
 
*)syntax)->consume (); // skip the TOK_OPEN_ROUND
 
230
      ((__JP_That*)syntax)->consume (); // skip the TOK_OPEN_ROUND
329
231
      result =
330
 
        (((__JP_That
331
 
#line 122 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
332
 
*)syntax)->parse (&__JP_That
333
 
#line 122 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
334
 
::cmpd_stmt) &&
335
 
        ((__JP_That
336
 
#line 123 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
337
 
*)syntax)->parse (TOK_CLOSE_ROUND)) ?
338
 
        ((__JP_That
339
 
#line 124 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
340
 
*)syntax)->builder().gnu_statement_expr () : 0;
 
232
        (((__JP_That*)syntax)->parse (&__JP_That::cmpd_stmt) &&
 
233
        ((__JP_That*)syntax)->parse (TOK_CLOSE_ROUND)) ?
 
234
        ((__JP_That*)syntax)->builder().gnu_statement_expr () : 0;
341
235
    }
342
236
    else
343
237
      tjp->proceed ();
344
238
  }
345
 
 
346
 
  // extend the C/C++ semantic
347
 
  
348
 
#line 131 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
349
 
 
350
 
  
351
 
#line 132 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
239
private:
352
240
 
353
241
 
354
242
  // ----------------------
355
243
  // TYPEOF keyword support
356
244
  // ----------------------
357
245
 
358
 
  
359
 
#line 138 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
246
  // structural extensions
 
247
  
 
248
  
 
249
  
 
250
  
360
251
 
 
252
  // introduce new state into CSemDeclSpecs
 
253
  
 
254
  
361
255
 
362
256
  // syntax extension
363
257
  
364
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
365
 
 
366
 
public: template<class JoinPoint> void __a4_after 
367
 
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
368
 
(JoinPoint *tjp)
369
 
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
370
 
 
371
 
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
372
 
 {
373
 
#line 374 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
374
 
 
 
258
public: template<class JoinPoint> void __a4_after (JoinPoint *tjp) {
375
259
  typedef typename JoinPoint::That __JP_That;
376
260
  typedef typename JoinPoint::Target __JP_Target;
377
261
  typedef typename JoinPoint::Result __JP_Result;
378
262
 
379
 
#line 142 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
380
 
 
381
263
    if (typeof_keyword)
382
264
      tjp->that ()->_simple_type_spec_1.set (TOK_TYPEOF);
383
265
  }
 
266
private:
 
267
 
384
268
  
385
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
386
 
 
387
 
public: template<class JoinPoint> void __a5_after 
388
 
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
389
 
(JoinPoint *tjp)
390
 
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
391
 
 
392
 
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
393
 
 {
394
 
#line 395 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
395
 
 
 
269
public: template<class JoinPoint> void __a5_after (JoinPoint *tjp) {
396
270
  typedef typename JoinPoint::That __JP_That;
397
271
  typedef typename JoinPoint::Target __JP_Target;
398
272
  typedef typename JoinPoint::Result __JP_Result;
399
273
 
400
 
#line 146 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
401
 
 
402
274
    CTree *&result = *(CTree**)tjp->result ();
403
275
    if (typeof_keyword && !result && tjp->that ()->look_ahead (TOK_TYPEOF) &&
404
 
        tjp->that ()->parse (&__JP_That
405
 
#line 149 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
406
 
::gnu_typeof))
 
276
        tjp->that ()->parse (&__JP_That::gnu_typeof))
407
277
      result = tjp->that ()->builder ().simple_type_spec ();
408
278
  }
 
279
private:
 
280
 
409
281
  
410
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
411
 
 
412
 
public: template<class JoinPoint> void __a6_after 
413
 
#line 152 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
414
 
(JoinPoint *tjp)
415
 
#line 152 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
416
 
 
417
 
#line 152 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
418
 
 {
419
 
#line 420 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
420
 
 
 
282
public: template<class JoinPoint> void __a6_after (JoinPoint *tjp) {
421
283
  typedef typename JoinPoint::That __JP_That;
422
284
  typedef typename JoinPoint::Target __JP_Target;
423
285
  typedef typename JoinPoint::Result __JP_Result;
424
286
 
425
 
#line 152 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
426
 
 
427
287
    CTree *&result = *(CTree**)tjp->result ();
428
288
    if (typeof_keyword && !result && tjp->that ()->look_ahead (TOK_TYPEOF) &&
429
 
        tjp->that ()->parse (&__JP_That
430
 
#line 155 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
431
 
::gnu_typeof))
 
289
        tjp->that ()->parse (&__JP_That::gnu_typeof))
432
290
      result = tjp->that ()->semantic ().simple_type_spec ();
433
291
  }
434
 
 
435
 
  // semantic extension
436
 
  
437
 
#line 160 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
438
 
 
439
 
  
440
 
#line 161 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
441
 
 
442
 
 
443
 
 
444
 
  // define gnu builtins in the semantic
445
 
  
446
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
447
 
 
448
 
public: template<class JoinPoint> void __a7_after 
449
 
#line 166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
450
 
(JoinPoint *tjp)
451
 
#line 166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
452
 
 
453
 
#line 166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
454
 
 {
455
 
#line 456 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
456
 
 
457
 
  typedef typename JoinPoint::That __JP_That;
458
 
  typedef typename JoinPoint::Target __JP_Target;
459
 
  typedef typename JoinPoint::Result __JP_Result;
460
 
 
461
 
#line 166 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
462
 
 
463
 
    if (gnu_builtins)
464
 
      tjp->that ()->define_gnu_builtins ();
465
 
  }
466
 
 
467
 
  // introduce new state into CSemDeclSpecs
468
 
  
469
 
#line 172 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
470
 
 
471
 
  
472
 
#line 173 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
292
private:
473
293
 
474
294
 
475
295
  // initialize the new state before an analysis starts
476
296
  
477
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
478
 
 
479
 
public: void __a8_before 
480
 
#line 177 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
481
 
(CSemDeclSpecs &csd)
482
 
#line 177 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
483
 
 
484
 
#line 177 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
485
 
 {
 
297
public: void __a7_before (CSemDeclSpecs &csd) {
486
298
    csd._typeofs = 0;
487
299
    csd._typeof_node = 0;
488
300
  }
 
301
private:
 
302
 
489
303
 
490
304
  // make the analysis function aware of 'typeof'
491
305
  
492
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
493
 
 
494
 
public: template<class JoinPoint> void __a9_after 
495
 
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
496
 
(JoinPoint *tjp, CSemDeclSpecs &csd, CTree *spec)
497
 
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
498
 
 
499
 
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
500
 
 {
501
 
#line 502 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
502
 
 
 
306
public: template<class JoinPoint> void __a8_after (JoinPoint *tjp, CSemDeclSpecs &csd, CTree *spec) {
503
307
  typedef typename JoinPoint::That __JP_That;
504
308
  typedef typename JoinPoint::Target __JP_Target;
505
309
  typedef typename JoinPoint::Result __JP_Result;
506
310
 
507
 
#line 184 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
508
 
 
509
311
    bool &result = *tjp->result ();
510
312
    if (!result && spec->NodeName () == CT_GnuTypeof::NodeId ()) {
511
313
      csd._typeofs++;      
513
315
      result = true;
514
316
    }
515
317
  }
 
318
private:
 
319
 
516
320
  
517
321
  // make the check functions aware of 'typeof'
518
322
  
519
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
520
 
 
521
 
public: template<class JoinPoint> void __a10_after 
522
 
#line 196 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
523
 
(JoinPoint *tjp, CSemDeclSpecs &csd, bool &have_type)
524
 
#line 196 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
525
 
 
526
 
#line 196 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
527
 
 {
528
 
#line 529 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
529
 
 
 
323
public: template<class JoinPoint> void __a9_after (JoinPoint *tjp, CSemDeclSpecs &csd, bool &have_type) {
530
324
  typedef typename JoinPoint::That __JP_That;
531
325
  typedef typename JoinPoint::Target __JP_Target;
532
326
  typedef typename JoinPoint::Result __JP_Result;
533
327
 
534
 
#line 196 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
535
 
 
536
328
    bool &result = *tjp->result ();
537
329
    if (result && !have_type && csd._typeofs) {
538
330
      have_type = true;
539
331
      result    = true;
540
332
    }
541
333
  }
542
 
  
543
 
  
544
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
545
 
 
546
 
public: template<class JoinPoint> void __a11_after 
547
 
#line 205 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
548
 
(JoinPoint *tjp, CSemDeclSpecs &csd)
549
 
#line 205 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
550
 
 
551
 
#line 205 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
552
 
 {
553
 
#line 554 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
554
 
 
 
334
private:
 
335
 
 
336
  
 
337
  
 
338
public: template<class JoinPoint> void __a10_after (JoinPoint *tjp, CSemDeclSpecs &csd) {
555
339
  typedef typename JoinPoint::That __JP_That;
556
340
  typedef typename JoinPoint::Target __JP_Target;
557
341
  typedef typename JoinPoint::Result __JP_Result;
558
342
 
559
 
#line 205 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
560
 
 
561
343
    bool &result = *tjp->result ();
562
344
    if (result) {
563
345
      if ((csd._prim_map[CT_PrimDeclSpec::PDS_SIGNED] || 
570
352
      }
571
353
    }
572
354
  }
 
355
private:
 
356
 
573
357
 
574
358
  
575
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
576
 
 
577
 
public: template<class JoinPoint> void __a12_after 
578
 
#line 220 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
579
 
(JoinPoint *tjp, CSemDeclSpecs &csd)
580
 
#line 220 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
581
 
 
582
 
#line 220 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
583
 
 {
584
 
#line 585 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
585
 
 
 
359
public: template<class JoinPoint> void __a11_after (JoinPoint *tjp, CSemDeclSpecs &csd) {
586
360
  typedef typename JoinPoint::That __JP_That;
587
361
  typedef typename JoinPoint::Target __JP_Target;
588
362
  typedef typename JoinPoint::Result __JP_Result;
589
363
 
590
 
#line 220 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
591
 
 
592
364
    bool &result = *tjp->result ();
593
365
    if (result && csd._typeofs > 0) {
594
366
      *csd._err << sev_error << csd._dss->token ()->location () 
597
369
      result = false;
598
370
    }
599
371
  }
 
372
private:
 
373
 
600
374
 
601
375
  // make the type creation function aware of 'typeof'
602
376
  
603
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
604
 
 
605
 
public: template<class JoinPoint> void __a13_after 
606
 
#line 232 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
607
 
(JoinPoint *tjp, CSemDeclSpecs &csd)
608
 
#line 232 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
609
 
 
610
 
#line 232 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
611
 
 {
612
 
#line 613 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
613
 
 
 
377
public: template<class JoinPoint> void __a12_after (JoinPoint *tjp, CSemDeclSpecs &csd) {
614
378
  typedef typename JoinPoint::That __JP_That;
615
379
  typedef typename JoinPoint::Target __JP_Target;
616
380
  typedef typename JoinPoint::Result __JP_Result;
617
381
 
618
 
#line 232 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
619
 
 
620
382
    CTypeInfo *&result = *tjp->result ();
621
383
    if (result->isUndefined () && csd._typeofs) {
622
384
      csd._typeofs--;
625
387
      }
626
388
    }
627
389
  }
628
 
  
 
390
private:
 
391
 
 
392
  
 
393
  // ----------------------
 
394
  // Gnu builtin functions
 
395
  // ----------------------
 
396
 
 
397
  // structural extensions
 
398
  
 
399
 
 
400
  
 
401
public: template<class JoinPoint> void __a13_after (JoinPoint *tjp) {
 
402
  typedef typename JoinPoint::That __JP_That;
 
403
  typedef typename JoinPoint::Target __JP_Target;
 
404
  typedef typename JoinPoint::Result __JP_Result;
 
405
 
 
406
    if (gnu_builtins)
 
407
      tjp->that ()->define_gnu_builtins ();
 
408
  }
 
409
private:
 
410
 
 
411
 
629
412
  // ----------------------------------------------------
630
413
  // std hack: if a lookup in 'std' fails, look into '::'
631
414
  // ----------------------------------------------------
632
415
 
633
416
  
634
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
635
 
 
636
 
public: template<class JoinPoint> void __a14_before 
637
 
#line 247 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
638
 
(JoinPoint *tjp)
639
 
#line 247 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
640
 
 
641
 
#line 247 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
642
 
 {
643
 
#line 644 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
644
 
 
 
417
public: template<class JoinPoint> void __a14_before (JoinPoint *tjp) {
645
418
  typedef typename JoinPoint::That __JP_That;
646
419
  typedef typename JoinPoint::Target __JP_Target;
647
420
  typedef typename JoinPoint::Result __JP_Result;
648
421
 
649
 
#line 247 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
650
 
 
651
422
    if (std_hack) {
652
423
      CStructure *&scope = *(CStructure**)tjp->arg (0);
653
424
      bool &nested = *(bool*)tjp->arg (1);
656
427
        nested = true;
657
428
    }
658
429
  }
 
430
private:
 
431
 
659
432
  
660
433
  // get the configuration and check whether the GNU mode is enabled
661
434
  
662
 
#line 3 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
663
 
 
664
 
public: void __a15_before 
665
 
#line 259 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
666
 
(Config &config)
667
 
#line 259 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
668
 
 
669
 
#line 259 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
670
 
 {
 
435
public: void __a15_before (Config &config) {
671
436
    if (config.Option ("--gnu") || config.Option ("--gnu-2.95")) {
672
437
      extended_asm     = true;
673
438
      extended_cv_qual = true;
680
445
    if (config.Option ("--gnu-2.95") || config.Option ("--gnu-std-hack"))
681
446
      std_hack = true;
682
447
  }
 
448
private:
 
449
 
683
450
 
684
451
protected:
685
452
  ExtGnu () : extended_asm (false), extended_cv_qual (false),
687
454
    statement_exprs (false)
688
455
  {}
689
456
};
690
 
#line 691 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
691
 
 
692
457
namespace AC {
693
458
  template <class JoinPoint, class Binding>
694
459
  inline void invoke_ExtGnu_ExtGnu_a0_after (JoinPoint *tjp) {
720
485
  inline void invoke_ExtGnu_ExtGnu_a6_after (JoinPoint *tjp) {
721
486
    ::ExtGnu::aspectof()->__a6_after (tjp);
722
487
  }
723
 
  template <class JoinPoint>
724
 
  inline void invoke_ExtGnu_ExtGnu_a7_after (JoinPoint *tjp) {
725
 
    ::ExtGnu::aspectof()->__a7_after (tjp);
 
488
  template <class JoinPoint, class Binding>
 
489
  inline void invoke_ExtGnu_ExtGnu_a7_before (JoinPoint *tjp) {
 
490
    typedef typename Binding::template Arg<0> Arg0;
 
491
    ::ExtGnu::aspectof()->__a7_before ((Puma::CSemDeclSpecs &)Arg0::val (tjp));
726
492
  }
727
493
  template <class JoinPoint, class Binding>
728
 
  inline void invoke_ExtGnu_ExtGnu_a8_before (JoinPoint *tjp) {
 
494
  inline void invoke_ExtGnu_ExtGnu_a8_after (JoinPoint *tjp) {
729
495
    typedef typename Binding::template Arg<0> Arg0;
730
 
    ::ExtGnu::aspectof()->__a8_before ((Puma::CSemDeclSpecs &)Arg0::val (tjp));
 
496
    typedef typename Binding::template Arg<1> Arg1;
 
497
    ::ExtGnu::aspectof()->__a8_after (tjp, (Puma::CSemDeclSpecs &)Arg0::val (tjp), (Puma::CTree *)Arg1::val (tjp));
731
498
  }
732
499
  template <class JoinPoint, class Binding>
733
500
  inline void invoke_ExtGnu_ExtGnu_a9_after (JoinPoint *tjp) {
734
501
    typedef typename Binding::template Arg<0> Arg0;
735
502
    typedef typename Binding::template Arg<1> Arg1;
736
 
    ::ExtGnu::aspectof()->__a9_after (tjp, (Puma::CSemDeclSpecs &)Arg0::val (tjp), (Puma::CTree *)Arg1::val (tjp));
 
503
    ::ExtGnu::aspectof()->__a9_after (tjp, (Puma::CSemDeclSpecs &)Arg0::val (tjp), (bool &)Arg1::val (tjp));
737
504
  }
738
505
  template <class JoinPoint, class Binding>
739
506
  inline void invoke_ExtGnu_ExtGnu_a10_after (JoinPoint *tjp) {
740
507
    typedef typename Binding::template Arg<0> Arg0;
741
 
    typedef typename Binding::template Arg<1> Arg1;
742
 
    ::ExtGnu::aspectof()->__a10_after (tjp, (Puma::CSemDeclSpecs &)Arg0::val (tjp), (bool &)Arg1::val (tjp));
 
508
    ::ExtGnu::aspectof()->__a10_after (tjp, (Puma::CSemDeclSpecs &)Arg0::val (tjp));
743
509
  }
744
510
  template <class JoinPoint, class Binding>
745
511
  inline void invoke_ExtGnu_ExtGnu_a11_after (JoinPoint *tjp) {
751
517
    typedef typename Binding::template Arg<0> Arg0;
752
518
    ::ExtGnu::aspectof()->__a12_after (tjp, (Puma::CSemDeclSpecs &)Arg0::val (tjp));
753
519
  }
754
 
  template <class JoinPoint, class Binding>
 
520
  template <class JoinPoint>
755
521
  inline void invoke_ExtGnu_ExtGnu_a13_after (JoinPoint *tjp) {
756
 
    typedef typename Binding::template Arg<0> Arg0;
757
 
    ::ExtGnu::aspectof()->__a13_after (tjp, (Puma::CSemDeclSpecs &)Arg0::val (tjp));
 
522
    ::ExtGnu::aspectof()->__a13_after (tjp);
758
523
  }
759
524
  template <class JoinPoint>
760
525
  inline void invoke_ExtGnu_ExtGnu_a14_before (JoinPoint *tjp) {
767
532
  }
768
533
769
534
 
770
 
#line 278 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
771
 
 
 
535
 
 
536
 
 
537
// ----------------------------------------------------
 
538
// the Gnu ASM syntax
 
539
// ----------------------------------------------------
772
540
 
773
541
// add rules to the C Syntax
774
542
 
775
543
 
776
 
#line 290 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
777
 
 
778
 
 
779
 
 
780
 
#line 296 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
781
 
 
782
 
 
783
 
 
784
 
#line 302 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
785
 
 
786
 
 
787
 
 
788
 
#line 307 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
544
 
 
545
 
 
546
 
 
547
 
 
548
 
789
549
 
790
550
 
791
551
 
792
552
// extend the C Builder
793
553
 
794
554
 
795
 
#line 324 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
796
 
 
797
 
 
798
 
 
799
 
#line 328 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
800
 
 
801
 
 
802
 
 
803
 
#line 333 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
555
 
 
556
 
 
557
 
 
558
 
804
559
 
805
560
        
806
561
 
807
 
#line 337 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
808
 
 
809
 
 
810
 
// ----------------------
811
 
// expression statements
812
 
// ----------------------
813
 
 
814
 
// extend the C Builder
815
 
 
816
 
#line 347 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
817
 
 
818
 
 
819
 
// C++ semantic extension
 
562
 
 
563
// -------------------------
 
564
// Gnu statement expressions 
 
565
// -------------------------
 
566
 
 
567
// C Builder extension
 
568
 
 
569
 
 
570
 
 
571
 
 
572
// C semantic extension
 
573
 
820
574
 
821
575
// the necessary #include "..CSemVisitor.h" in CSemExpr.cc will is inserted
822
576
// manually (for now)!
823
577
 
824
 
#line 382 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
578
 
 
579
// C++ semantic extension
825
580
 
826
581
 
827
582
// the necessary #include "..CCSemVisitor.h" in CCSemExpr.cc will is inserted
828
583
// manually (for now)!
829
584
 
830
 
#line 415 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
831
 
 
832
585
 
833
586
// ----------------------
834
587
// TYPEOF keyword support
835
588
// ----------------------
836
589
 
837
 
// syntax extension
838
 
 
839
 
#line 426 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
590
// add rules to the C Syntax for the Gnu Typeof syntax
 
591
 
 
592
 
 
593
 
 
594
 
 
595
// add rules to the C Builder for the Gnu Typeof syntax
840
596
 
841
597
 
842
598
// builder extension
843
599
 
844
 
#line 439 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
845
 
 
846
600
 
847
601
// C semantic extension
848
602
 
849
 
#line 458 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
603
 
850
604
 
851
605
 
852
606
// C++ semantic extension
853
607
 
854
 
#line 476 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
855
 
 
856
 
 
857
 
 
858
 
// extend the C semantic
859
 
 
860
 
#line 800 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/ExtGnu.ah"
 
608
 
 
609
 
 
610
 
 
611
 
 
612
// ----------------------
 
613
// Gnu builtin functions
 
614
// ----------------------
 
615
 
 
616
// extend the C/C++ semantic
 
617
 
 
618
 
861
619
 
862
620
 
863
621
 
864
622
#endif /* __ext_gnu_h__ */
865
623
 
866
 
#line 867 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/ExtGnu.ah"
867
 
 
868
 
#ifdef __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
624
#ifdef __ac_FIRST_FILE__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtGnu_ah__
869
625
/*** begin of aspect includes ***/
870
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__)
871
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__
 
626
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinIfExists_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinIfExists_ah__)
 
627
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinIfExists_ah__
872
628
#include "WinIfExists.ah"
873
629
#endif
874
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__)
875
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__
 
630
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinImportHandler_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinImportHandler_ah__)
 
631
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinImportHandler_ah__
876
632
#include "WinImportHandler.ah"
877
633
#endif
878
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__)
879
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__
 
634
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMacros_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMacros_ah__)
 
635
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMacros_ah__
880
636
#include "WinMacros.ah"
881
637
#endif
882
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__)
883
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
 
638
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CMatchSyntax_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CMatchSyntax_ah__)
 
639
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
884
640
#include "CMatchSyntax.ah"
885
641
#endif
886
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__)
887
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
642
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtGnu_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtGnu_ah__)
 
643
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtGnu_ah__
888
644
#include "ExtGnu.ah"
889
645
#endif
890
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__)
891
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__
 
646
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtAC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtAC_ah__)
 
647
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtAC_ah__
892
648
#include "ExtAC.ah"
893
649
#endif
894
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__)
895
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__
 
650
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__)
 
651
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
 
652
#include "ExtACBuilderH.ah"
 
653
#endif
 
654
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__)
 
655
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
 
656
#include "ExtACBuilderCC.ah"
 
657
#endif
 
658
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__)
 
659
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
 
660
#include "ExtACSyntaxH.ah"
 
661
#endif
 
662
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__)
 
663
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
 
664
#include "ExtACSyntaxCC.ah"
 
665
#endif
 
666
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACTree_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACTree_ah__)
 
667
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACTree_ah__
896
668
#include "ExtACTree.ah"
897
669
#endif
898
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__)
899
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__
 
670
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__)
 
671
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
 
672
#include "ExtACKeywords.ah"
 
673
#endif
 
674
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_TraceSyntax_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_TraceSyntax_ah__)
 
675
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_TraceSyntax_ah__
900
676
#include "TraceSyntax.ah"
901
677
#endif
902
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__)
903
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__
 
678
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinAsm_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinAsm_ah__)
 
679
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinAsm_ah__
904
680
#include "WinAsm.ah"
905
681
#endif
906
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__)
907
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
 
682
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__)
 
683
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
908
684
#include "WinDeclSpecs.ah"
909
685
#endif
910
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__)
911
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
 
686
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__)
 
687
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
912
688
#include "WinMemberExplSpec.ah"
913
689
#endif
914
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__)
915
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
 
690
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__)
 
691
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
916
692
#include "WinTypeKeywords.ah"
917
693
#endif
918
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__)
919
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
 
694
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__)
 
695
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
920
696
#include "PragmaOnceUnitState.ah"
921
697
#endif
922
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__)
923
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__
 
698
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnce_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnce_ah__)
 
699
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_PragmaOnce_ah__
924
700
#include "PragmaOnce.ah"
925
701
#endif
926
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__)
927
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__
928
 
#include "CCExprResolve.ah"
929
 
#endif
930
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__)
931
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__
932
 
#include "CExprResolve.ah"
 
702
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveH_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveH_ah__)
 
703
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
 
704
#include "CCExprResolveH.ah"
 
705
#endif
 
706
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__)
 
707
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
 
708
#include "CCExprResolveCC.ah"
 
709
#endif
 
710
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveH_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveH_ah__)
 
711
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveH_ah__
 
712
#include "CExprResolveH.ah"
 
713
#endif
 
714
#if !defined(__ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveCC_ah__) && defined(__ac_need__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveCC_ah__)
 
715
#define __ac_have__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
 
716
#include "CExprResolveCC.ah"
933
717
#endif
934
718
/*** end of aspect includes ***/
935
 
#undef __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
936
 
#undef __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__
937
 
#endif // __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
719
#undef __ac_FIRST__tmp_AOP_LIN_AOP_Puma_gen45release_step1__
 
720
#undef __ac_FIRST_FILE__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtGnu_ah__
 
721
#endif // __ac_FIRST_FILE__tmp_AOP_LIN_AOP_Puma_gen45release_step1_aspects_ExtGnu_ah__