39
54
inline void * operator new (__SIZE_TYPE__, AC::AnyResultBuffer *p) { return p; }
40
55
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
43
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
45
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
47
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
49
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
50
// This file is part of PUMA.
51
// Copyright (C) 1999-2003 The PUMA developer team.
53
// This program is free software; you can redistribute it and/or
54
// modify it under the terms of the GNU General Public License as
55
// published by the Free Software Foundation; either version 2 of
56
// the License, or (at your option) any later version.
58
// This program is distributed in the hope that it will be useful,
59
// but WITHOUT ANY WARRANTY; without even the implied warranty of
60
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
61
// GNU General Public License for more details.
63
// You should have received a copy of the GNU General Public
64
// License along with this program; if not, write to the Free
65
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
68
#ifndef __WinIfExists__
69
#define __WinIfExists__
71
/********************************************************/
72
/* Win __if_exists and __if_not_exists support aspect */
73
/********************************************************/
76
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
77
// This file is part of PUMA.
78
// Copyright (C) 1999-2003 The PUMA developer team.
80
// This program is free software; you can redistribute it and/or
81
// modify it under the terms of the GNU General Public License as
82
// published by the Free Software Foundation; either version 2 of
83
// the License, or (at your option) any later version.
85
// This program is distributed in the hope that it will be useful,
86
// but WITHOUT ANY WARRANTY; without even the implied warranty of
87
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
88
// GNU General Public License for more details.
90
// You should have received a copy of the GNU General Public
91
// License along with this program; if not, write to the Free
92
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
99
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
100
// This file is part of PUMA.
101
// Copyright (C) 1999-2003 The PUMA developer team.
103
// This program is free software; you can redistribute it and/or
104
// modify it under the terms of the GNU General Public License as
105
// published by the Free Software Foundation; either version 2 of
106
// the License, or (at your option) any later version.
108
// This program is distributed in the hope that it will be useful,
109
// but WITHOUT ANY WARRANTY; without even the implied warranty of
110
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
111
// GNU General Public License for more details.
113
// You should have received a copy of the GNU General Public
114
// License along with this program; if not, write to the Free
115
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
59
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
61
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
62
/* Driver template for the LEMON parser generator.
63
** Copyright 1991-1995 by D. Richard Hipp.
65
** This library is free software; you can redistribute it and/or
66
** modify it under the terms of the GNU Library General Public
67
** License as published by the Free Software Foundation; either
68
** version 2 of the License, or (at your option) any later version.
70
** This library is distributed in the hope that it will be useful,
71
** but WITHOUT ANY WARRANTY; without even the implied warranty of
72
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
73
** Library General Public License for more details.
75
** You should have received a copy of the GNU Library General Public
76
** License along with this library; if not, write to the
77
** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
78
** Boston, MA 02111-1307, USA.
80
** Modified 1997 to make it suitable for use with makeheaders.
82
/* First off, code is include which follows the "include" declaration
83
** in the input file. */
85
#line 27 "cpp/PreParser.lem"
88
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
89
// This file is part of PUMA.
90
// Copyright (C) 1999-2003 The PUMA developer team.
92
// This program is free software; you can redistribute it and/or
93
// modify it under the terms of the GNU General Public License as
94
// published by the Free Software Foundation; either version 2 of
95
// the License, or (at your option) any later version.
97
// This program is distributed in the hope that it will be useful,
98
// but WITHOUT ANY WARRANTY; without even the implied warranty of
99
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
100
// GNU General Public License for more details.
102
// You should have received a copy of the GNU General Public
103
// License along with this program; if not, write to the Free
104
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
111
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
112
// This file is part of PUMA.
113
// Copyright (C) 1999-2003 The PUMA developer team.
115
// This program is free software; you can redistribute it and/or
116
// modify it under the terms of the GNU General Public License as
117
// published by the Free Software Foundation; either version 2 of
118
// the License, or (at your option) any later version.
120
// This program is distributed in the hope that it will be useful,
121
// but WITHOUT ANY WARRANTY; without even the implied warranty of
122
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
123
// GNU General Public License for more details.
125
// You should have received a copy of the GNU General Public
126
// License along with this program; if not, write to the Free
127
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
130
#ifndef __list_element_h__
131
#define __list_element_h__
133
// Base class for objects that may be inserted into a List. Lists
134
// autonomously delete or copy list element. So it's necessary to
135
// define a destructor and a duplicate method in the derived
121
138
#include <assert.h>
126
#line 127 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
129
class WinImportHandler;
134
class ExtACBuilderCoupling;
135
class ExtACSyntaxCoupling;
140
class WinMemberExplSpec;
141
class WinTypeKeywords;
142
class PragmaOnceUnitState;
148
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
149
template <class Item>
151
#line 152 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
152
friend class ::WinIfExists;
153
friend class ::WinImportHandler;
154
friend class ::WinMacros;
155
friend class ::CMatchSyntax;
156
friend class ::ExtGnu;
157
friend class ::ExtAC;
158
friend class ::ExtACBuilderCoupling;
159
friend class ::ExtACSyntaxCoupling;
160
friend class ::ExtACTree;
161
friend class ::ExtACKeywords;
162
friend class ::WinAsm;
163
friend class ::WinDeclSpecs;
164
friend class ::WinMemberExplSpec;
165
friend class ::WinTypeKeywords;
166
friend class ::PragmaOnceUnitState;
167
friend class ::PragmaOnce;
168
friend class ::CCExprResolve;
169
friend class ::CExprResolve;
171
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Array.h"
174
static const long default_init_size = 5;
175
static const long default_increment = 5;
178
Array (long is = default_init_size, long incr = default_increment);
179
Array (const Array<Item>& array);
180
Array<Item>& operator =(const Array<Item>&);
182
void append (const Item& item);
183
void insert (long index, const Item& item);
184
void prepend (const Item& item);
185
void remove (long index);
187
Item& get (long index);
188
Item& operator[] (long index);
189
Item fetch (long index) const;
190
Item& lookup (long index) const;
191
long length () const;
146
#line 147 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
151
class WinImportHandler;
155
class WinMemberExplSpec;
156
class WinTypeKeywords;
159
class ExtACBuilderCoupling;
160
class ExtACSyntaxCoupling;
164
class PragmaOnceUnitState;
169
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
171
#line 172 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
172
friend class ::CCExprResolve;
173
friend class ::CExprResolve;
174
friend class ::WinIfExists;
175
friend class ::WinImportHandler;
176
friend class ::WinMacros;
177
friend class ::WinAsm;
178
friend class ::WinDeclSpecs;
179
friend class ::WinMemberExplSpec;
180
friend class ::WinTypeKeywords;
181
friend class ::WinFriend;
182
friend class ::ExtAC;
183
friend class ::ExtACBuilderCoupling;
184
friend class ::ExtACSyntaxCoupling;
185
friend class ::ExtACTree;
186
friend class ::ExtACKeywords;
187
friend class ::ExtGnu;
188
friend class ::PragmaOnceUnitState;
189
friend class ::PragmaOnce;
190
friend class ::CMatchSyntax;
192
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/ListElement.h"
201
ListElement () : _belonging_to ((List*)0) {}
202
virtual ~ListElement () { assert (! _belonging_to); };
204
virtual ListElement *duplicate () = 0;
205
List *belonging_to () const { return _belonging_to; }
211
#endif /* __list_element_h__ */
213
#line 24 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
218
#line 219 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
223
class WinImportHandler;
227
class WinMemberExplSpec;
228
class WinTypeKeywords;
231
class ExtACBuilderCoupling;
232
class ExtACSyntaxCoupling;
236
class PragmaOnceUnitState;
241
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
243
#line 244 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
244
friend class ::CCExprResolve;
245
friend class ::CExprResolve;
246
friend class ::WinIfExists;
247
friend class ::WinImportHandler;
248
friend class ::WinMacros;
249
friend class ::WinAsm;
250
friend class ::WinDeclSpecs;
251
friend class ::WinMemberExplSpec;
252
friend class ::WinTypeKeywords;
253
friend class ::WinFriend;
254
friend class ::ExtAC;
255
friend class ::ExtACBuilderCoupling;
256
friend class ::ExtACSyntaxCoupling;
257
friend class ::ExtACTree;
258
friend class ::ExtACKeywords;
259
friend class ::ExtGnu;
260
friend class ::PragmaOnceUnitState;
261
friend class ::PragmaOnce;
262
friend class ::CMatchSyntax;
264
#line 27 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/List.h"
270
List () : _first ((ListElement*)0), _last ((ListElement*)0) {}
274
List &operator = (const List &);
275
List &operator += (const List &);
276
List operator + (const List &);
280
void append (ListElement &);
281
void prepend (ListElement &);
282
void insert (ListElement *at, ListElement &element);
283
void remove (ListElement *element);
284
void kill (ListElement *from, ListElement *to = (ListElement*)0)
285
{ List discard; cut (discard, from, to); }
287
void cut (List &out, ListElement *from, ListElement *to = (ListElement*)0);
288
//List *cut (ListElement *from, ListElement *to = (ListElement*)0);
289
List *copy (ListElement *from = (ListElement*)0,
290
ListElement *to = (ListElement*)0);
291
void paste (ListElement *at, const List &l);
292
void paste_before (ListElement *at, const List &l);
293
void move (ListElement *at, List &l);
294
void move_before (ListElement *at, List &l);
296
bool empty () const { return _first == (ListElement*)0; }
297
const ListElement *first () const { return _first; }
298
const ListElement *last () const { return _last; }
299
const ListElement *next (const ListElement *element) const
300
{ return element ? element->_next : 0; }
301
const ListElement *prev (const ListElement *element) const
302
{ return element ? element->_prev : 0; }
308
#endif /* __list_h__ */
310
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
311
// This file is part of PUMA.
312
// Copyright (C) 1999-2003 The PUMA developer team.
314
// This program is free software; you can redistribute it and/or
315
// modify it under the terms of the GNU General Public License as
316
// published by the Free Software Foundation; either version 2 of
317
// the License, or (at your option) any later version.
319
// This program is distributed in the hope that it will be useful,
320
// but WITHOUT ANY WARRANTY; without even the implied warranty of
321
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
322
// GNU General Public License for more details.
324
// You should have received a copy of the GNU General Public
325
// License along with this program; if not, write to the Free
326
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
333
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
334
// This file is part of PUMA.
335
// Copyright (C) 1999-2003 The PUMA developer team.
337
// This program is free software; you can redistribute it and/or
338
// modify it under the terms of the GNU General Public License as
339
// published by the Free Software Foundation; either version 2 of
340
// the License, or (at your option) any later version.
342
// This program is distributed in the hope that it will be useful,
343
// but WITHOUT ANY WARRANTY; without even the implied warranty of
344
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
345
// GNU General Public License for more details.
347
// You should have received a copy of the GNU General Public
348
// License along with this program; if not, write to the Free
349
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
352
#ifndef __printable_h__
353
#define __printable_h__
362
#line 363 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
367
class WinImportHandler;
371
class WinMemberExplSpec;
372
class WinTypeKeywords;
375
class ExtACBuilderCoupling;
376
class ExtACSyntaxCoupling;
380
class PragmaOnceUnitState;
385
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
387
#line 388 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
388
friend class ::CCExprResolve;
389
friend class ::CExprResolve;
390
friend class ::WinIfExists;
391
friend class ::WinImportHandler;
392
friend class ::WinMacros;
393
friend class ::WinAsm;
394
friend class ::WinDeclSpecs;
395
friend class ::WinMemberExplSpec;
396
friend class ::WinTypeKeywords;
397
friend class ::WinFriend;
398
friend class ::ExtAC;
399
friend class ::ExtACBuilderCoupling;
400
friend class ::ExtACSyntaxCoupling;
401
friend class ::ExtACTree;
402
friend class ::ExtACKeywords;
403
friend class ::ExtGnu;
404
friend class ::PragmaOnceUnitState;
405
friend class ::PragmaOnce;
406
friend class ::CMatchSyntax;
408
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Printable.h"
411
virtual ~Printable () {}
412
virtual void print (ostream &os) const = 0;
416
inline ostream &operator << (ostream &os, const Printable &object) {
424
#endif /* __printable_h__ */
426
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
428
#line 429 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
430
#ifndef __ac_fwd_PragmaOnceUnitState__
431
#define __ac_fwd_PragmaOnceUnitState__
432
class PragmaOnceUnitState;
434
template <class JoinPoint>
435
__attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
436
template <class JoinPoint>
437
__attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp);
441
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
442
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
445
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
446
// This file is part of PUMA.
447
// Copyright (C) 1999-2003 The PUMA developer team.
449
// This program is free software; you can redistribute it and/or
450
// modify it under the terms of the GNU General Public License as
451
// published by the Free Software Foundation; either version 2 of
452
// the License, or (at your option) any later version.
454
// This program is distributed in the hope that it will be useful,
455
// but WITHOUT ANY WARRANTY; without even the implied warranty of
456
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
457
// GNU General Public License for more details.
459
// You should have received a copy of the GNU General Public
460
// License along with this program; if not, write to the Free
461
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
464
#ifndef __UnitState__
465
#define __UnitState__
467
// The state of a unit:
468
// 1. modified by manipulations and not updated at the class registry
469
// 2. modified by manipulations and updated at the class registry
470
// 3. unmodified by manipulations and not updated at the class registry
471
// 4. unmodified by manipulations and updated at the class registry
477
#line 478 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
482
class WinImportHandler;
486
class WinMemberExplSpec;
487
class WinTypeKeywords;
490
class ExtACBuilderCoupling;
491
class ExtACSyntaxCoupling;
495
class PragmaOnceUnitState;
500
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
502
#line 503 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
505
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
506
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
508
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
509
// This file is part of PUMA.
510
// Copyright (C) 1999-2003 The PUMA developer team.
512
// This program is free software; you can redistribute it and/or
513
// modify it under the terms of the GNU General Public License as
514
// published by the Free Software Foundation; either version 2 of
515
// the License, or (at your option) any later version.
517
// This program is distributed in the hope that it will be useful,
518
// but WITHOUT ANY WARRANTY; without even the implied warranty of
519
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
520
// GNU General Public License for more details.
522
// You should have received a copy of the GNU General Public
523
// License along with this program; if not, write to the Free
524
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
527
#ifndef __PragmaOnceUnitState__
528
#define __PragmaOnceUnitState__
531
#line 532 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
535
class WinImportHandler;
539
class WinMemberExplSpec;
540
class WinTypeKeywords;
543
class ExtACBuilderCoupling;
544
class ExtACSyntaxCoupling;
551
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
552
class PragmaOnceUnitState {
553
#line 554 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
556
static PragmaOnceUnitState *aspectof () {
557
static PragmaOnceUnitState __instance;
560
static PragmaOnceUnitState *aspectOf () {
565
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
567
#line 568 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
568
friend class ::CCExprResolve;
569
friend class ::CExprResolve;
570
friend class ::WinIfExists;
571
friend class ::WinImportHandler;
572
friend class ::WinMacros;
573
friend class ::WinAsm;
574
friend class ::WinDeclSpecs;
575
friend class ::WinMemberExplSpec;
576
friend class ::WinTypeKeywords;
577
friend class ::WinFriend;
578
friend class ::ExtAC;
579
friend class ::ExtACBuilderCoupling;
580
friend class ::ExtACSyntaxCoupling;
581
friend class ::ExtACTree;
582
friend class ::ExtACKeywords;
583
friend class ::ExtGnu;
584
friend class ::PragmaOnce;
585
friend class ::CMatchSyntax;
587
#line 22 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
589
/******************************************************/
590
/* specific #pragma once unit state */
591
/******************************************************/
593
// pointcut definitions
595
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
599
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
602
// initialize new state flag
604
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
606
public: template<class JoinPoint> void __a0_after
607
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
609
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
611
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
613
#line 614 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
615
JoinPoint *&thisJoinPoint = tjp;
617
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
619
#line 620 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
621
typedef typename JoinPoint::That __JP_That;
622
typedef typename JoinPoint::Target __JP_Target;
623
typedef typename JoinPoint::Result __JP_Result;
625
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
627
thisJoinPoint->that ()->_once = false;
629
#line 630 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
633
#line 42 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
636
// initialize new flag for all managed units
638
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
640
public: template<class JoinPoint> void __a1_after
641
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
643
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
645
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
647
#line 648 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
649
typedef typename JoinPoint::That __JP_That;
650
typedef typename JoinPoint::Target __JP_Target;
651
typedef typename JoinPoint::Result __JP_Result;
653
#line 45 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
655
// go through the whole unit hash table and reset the
656
// `#pragma once' state of the units
658
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
660
for (iter = tjp->that()->_umap.begin (); iter != tjp->that()->_umap.end (); ++iter)
661
(*iter).second->state ().onlyOnce (false);
663
#line 664 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
667
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
671
// this aspect should never be instantiated directly
672
PragmaOnceUnitState () {}
674
#line 675 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
677
template <class JoinPoint>
678
__attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
679
::PragmaOnceUnitState::aspectof()->__a0_after (tjp);
681
template <class JoinPoint>
682
__attribute((always_inline)) inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a1_after (JoinPoint *tjp) {
683
::PragmaOnceUnitState::aspectof()->__a1_after (tjp);
687
#line 56 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
691
#endif /* __PragmaOnceUnitState__ */
693
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
697
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
699
#line 700 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
700
friend class ::CCExprResolve;
701
friend class ::CExprResolve;
702
friend class ::WinIfExists;
703
friend class ::WinImportHandler;
704
friend class ::WinMacros;
705
friend class ::WinAsm;
706
friend class ::WinDeclSpecs;
707
friend class ::WinMemberExplSpec;
708
friend class ::WinTypeKeywords;
709
friend class ::WinFriend;
710
friend class ::ExtAC;
711
friend class ::ExtACBuilderCoupling;
712
friend class ::ExtACSyntaxCoupling;
713
friend class ::ExtACTree;
714
friend class ::ExtACKeywords;
715
friend class ::ExtGnu;
716
friend class ::PragmaOnceUnitState;
717
friend class ::PragmaOnce;
718
friend class ::CMatchSyntax;
720
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
728
#line 729 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
729
public: __attribute__((always_inline)) inline void __exec_old_C1();
731
#line 37 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
734
bool isModified () const;
735
bool isUpdated () const;
736
long lastModified () const;
738
// Is modified and has to be updated.
740
void lastModified (long);
199
void check (long wanted);
202
template <class Item>
203
inline Array<Item>::Array (long is, long incr)
208
data = new Item[size];
211
template <class Item>
212
Array<Item>::Array (const Array<Item>& array)
216
data = new Item[size];
217
increment = array.increment;
219
for (int pos = 0; pos < array.length (); pos++)
220
append (array.lookup (pos));
223
template <class Item>
224
Array<Item>& Array<Item>::operator =(const Array<Item>& array)
230
data = new Item[size];
231
increment = array.increment;
233
for (int pos = 0; pos < array.length (); pos++)
234
append (array.lookup (pos));
238
template <class Item>
239
Array<Item>::~Array ()
245
template <class Item>
246
inline void Array<Item>::check (long wanted)
252
while (wanted >= size)
257
new_data = new Item[size];
258
for (int pos = 0; pos < count; pos++)
259
new_data[pos] = data[pos];
265
template <class Item>
266
inline void Array<Item>::append (const Item& item)
269
data[count++] = item;
272
template <class Item>
273
void Array<Item>::prepend (const Item& item)
278
template <class Item>
279
void Array<Item>::insert (long index, const Item& item)
282
for (int pos = count; pos > index; pos--)
283
data[pos] = data[pos - 1];
288
template <class Item>
289
inline Item& Array<Item>::get (long index)
297
template <class Item>
298
inline Item& Array<Item>::operator[] (long index)
303
template <class Item>
304
inline Item Array<Item>::fetch (long index) const
306
assert(index < count);
310
template <class Item>
311
inline long Array<Item>::length () const
316
template <class Item>
317
inline void Array<Item>::remove (long index)
319
if (index < count && count > 0)
321
for (int pos = index; pos < count - 1; pos++)
322
data[pos] = data[pos + 1];
329
inline void Array<int>::reset () {
334
template <class Item>
335
void Array<Item>::reset ()
340
size = default_init_size;
341
increment = default_increment;
342
data = new Item[size];
345
template <class Item>
346
inline Item& Array<Item>::lookup (long index) const
348
assert(index >= 0 && index < count);
349
// if (index >= count) index = count - 1;
350
// if (index < 0) index = 0;
357
// Array specialization for pointer types sharing method definitions
361
#include "Puma/VoidPtrArray.h"
366
template <class Item>
367
class Array<Item*> : private VoidPtrArray {
368
typedef VoidPtrArray Base;
745
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
749
bool onlyOnce ( ) const { return _once ; }
750
void onlyOnce ( bool v ) { _once = v ; }
751
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
753
#line 754 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
755
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
756
typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 __TJP;
757
typedef TResult Result;
759
typedef TTarget Target;
760
enum { ARGS = TArgs::ARGS };
761
template <int I> struct Arg : AC::Arg<TArgs, I> {};
762
static const int JPID = 3641;
763
static const AC::JPType JPTYPE = (AC::JPType)16;
766
typedef void ReferredType;
771
inline That *that() {return (That*)_that;}
776
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
778
#line 779 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
371
Array (long is = default_init_size, long incr = default_increment) :
373
Array (const Array<Item*> &array) :
375
Array<Item*> &operator= (const Array<Item*> &array)
376
{ return (Array<Item*>&)Base::operator= (array); }
380
void append (const Item *item) { Base::append ((void*)item); }
381
void insert (long idx, const Item *item) { Base::insert (idx, (void*)item); }
382
void prepend (const Item *item) { Base::prepend ((void*)item); }
383
void remove (long idx) { Base::remove (idx); }
384
void reset () { Base::reset (); }
386
Item *&get (long idx) { return (Item*&)Base::get (idx); }
387
Item *&operator[] (long idx) { return (Item*&)Base::operator[] (idx); }
388
Item *fetch (long idx) const { return (Item*)Base::fetch (idx); }
389
Item *&lookup (long idx) const { return (Item*&)Base::lookup (idx); }
390
long length () const { return Base::length (); }
781
inline UnitState (const Puma::UnitState & arg0) : _modified (arg0._modified), _updated (arg0._updated), _lastModified (arg0._lastModified), _once (arg0._once) {
782
typedef TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0< void, ::Puma::UnitState , ::Puma::UnitState , AC::TL< const ::Puma::UnitState & , AC::TLE > > __TJP;
784
tjp._that = (__TJP::That*)this;
785
AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
789
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
793
#line 794 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
796
template <typename TResult, typename TThat, typename TTarget, typename TArgs> struct TJP__ZN4Puma9UnitStateC1Ev_0 {
797
typedef TJP__ZN4Puma9UnitStateC1Ev_0 __TJP;
798
typedef TResult Result;
800
typedef TTarget Target;
801
enum { ARGS = TArgs::ARGS };
802
template <int I> struct Arg : AC::Arg<TArgs, I> {};
803
static const int JPID = 3617;
804
static const AC::JPType JPTYPE = (AC::JPType)16;
807
typedef void ReferredType;
812
inline That *that() {return (That*)_that;}
817
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
818
inline UnitState::UnitState ()
820
#line 821 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
822
typedef TJP__ZN4Puma9UnitStateC1Ev_0< void, ::Puma::UnitState , ::Puma::UnitState , AC::TLE > __TJP;
824
tjp._that = (__TJP::That*)this;
825
this->__exec_old_C1();
826
AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<__TJP> (&tjp);
829
__attribute__((always_inline)) inline void Puma::UnitState::__exec_old_C1()
830
#line 51 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/UnitState.h"
831
{ _modified = false; _updated = false; _lastModified = 0; }
833
inline bool UnitState::isModified () const
834
{ return _modified; }
835
inline bool UnitState::isUpdated () const
837
inline long UnitState::lastModified () const
838
{ return _lastModified; }
840
inline void UnitState::modified ()
841
{ _modified = true; _updated = false; _lastModified = 0; }
842
inline void UnitState::unmodified ()
843
{ _modified = false; }
844
inline void UnitState::updated ()
846
inline void UnitState::lastModified (long when)
847
{ _lastModified = when; }
394
850
} // namespace Puma
398
#endif /* __array_h__ */
400
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
852
#endif /* __UnitState__ */
854
#line 26 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
404
#line 405 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
859
#line 860 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
406
863
class WinIfExists;
407
864
class WinImportHandler;
868
class WinMemberExplSpec;
869
class WinTypeKeywords;
412
872
class ExtACBuilderCoupling;
413
873
class ExtACSyntaxCoupling;
415
875
class ExtACKeywords;
418
class WinMemberExplSpec;
419
class WinTypeKeywords;
420
877
class PragmaOnceUnitState;
421
878
class PragmaOnce;
426
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
427
template <class Item>
428
class Stack : private Array<Item> {
429
#line 430 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
882
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
883
class Unit : public List, public Printable {
884
#line 885 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
885
friend class ::CCExprResolve;
886
friend class ::CExprResolve;
430
887
friend class ::WinIfExists;
431
888
friend class ::WinImportHandler;
432
889
friend class ::WinMacros;
433
friend class ::CMatchSyntax;
434
friend class ::ExtGnu;
890
friend class ::WinAsm;
891
friend class ::WinDeclSpecs;
892
friend class ::WinMemberExplSpec;
893
friend class ::WinTypeKeywords;
894
friend class ::WinFriend;
435
895
friend class ::ExtAC;
436
896
friend class ::ExtACBuilderCoupling;
437
897
friend class ::ExtACSyntaxCoupling;
438
898
friend class ::ExtACTree;
439
899
friend class ::ExtACKeywords;
440
friend class ::WinAsm;
441
friend class ::WinDeclSpecs;
442
friend class ::WinMemberExplSpec;
443
friend class ::WinTypeKeywords;
900
friend class ::ExtGnu;
444
901
friend class ::PragmaOnceUnitState;
445
902
friend class ::PragmaOnce;
446
friend class ::CCExprResolve;
447
friend class ::CExprResolve;
449
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Stack.h"
903
friend class ::CMatchSyntax;
905
#line 29 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Unit.h"
452
Stack (long is = 8192, long incr = 8192) :
453
Array<Item> (is, incr) {}
454
void push (Item f) { Array<Item>::append (f); }
455
Item &top () const { long len = Array<Item>::length ()-1;
456
return Array<Item>::lookup (len >= 0 ? len : 0); }
457
void pop () { Array<Item>::remove (Array<Item>::length () - 1); }
458
long length () const { return Array<Item>::length (); }
459
void reset () { Array<Item>::reset (); }
464
#endif /* __stack_h__ */
466
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/CTokens.h"
467
// This file is part of PUMA.
468
// Copyright (C) 1999-2003 The PUMA developer team.
470
// This program is free software; you can redistribute it and/or
471
// modify it under the terms of the GNU General Public License as
472
// published by the Free Software Foundation; either version 2 of
473
// the License, or (at your option) any later version.
475
// This program is distributed in the hope that it will be useful,
476
// but WITHOUT ANY WARRANTY; without even the implied warranty of
477
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
478
// GNU General Public License for more details.
480
// You should have received a copy of the GNU General Public
481
// License along with this program; if not, write to the Free
482
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
492
// core tokens, i.e. numbers, operator symbols, brackets, etc.
546
TOK_LAST_CORE = TOK_ELLIPSIS, // this is a group separator for the scanner!
586
// C compatibility keywords
606
// C win specific keywords
618
TOK_LAST_C = TOK_IF_NOT_EXISTS,
620
// a boolean constant:
652
// C++ alternative representation of operators (ISO 646):
666
TOK_LAST_CC = TOK_XOR_EQ_ISO_646,
668
// AspectC++ keywords:
676
TOK_LAST_AC = TOK_UNKNOWN_T,
678
// further [A](C|C++) token
683
// These two always have to be the ** last ** token listed here!!!
691
#endif /* __C_TOKENS__ */
693
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
911
Unit () : List (), _name ((char*)0) {}
912
Unit (const List &list) : List (list), _name ((char*)0) {}
914
virtual void name (const char *);
915
char *name () const { return _name; }
916
virtual void print (ostream &os) const;
917
virtual bool isFile () const { return false; }
918
virtual bool isMacroExp () const { return false; }
919
UnitState &state () { return _state; }
925
#endif /* __unit_h__ */
927
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
694
928
// This file is part of PUMA.
695
929
// Copyright (C) 1999-2003 The PUMA developer team.
2076
2168
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2077
2169
// MA 02111-1307 USA
2079
#ifndef __list_element_h__
2080
#define __list_element_h__
2082
// Base class for objects that may be inserted into a List. Lists
2083
// autonomously delete or copy list element. So it's necessary to
2084
// define a destructor and a duplicate method in the derived
2095
#line 2096 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2098
class WinImportHandler;
2103
class ExtACBuilderCoupling;
2104
class ExtACSyntaxCoupling;
2106
class ExtACKeywords;
2109
class WinMemberExplSpec;
2110
class WinTypeKeywords;
2111
class PragmaOnceUnitState;
2113
class CCExprResolve;
2117
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
2119
#line 2120 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2120
friend class ::WinIfExists;
2121
friend class ::WinImportHandler;
2122
friend class ::WinMacros;
2123
friend class ::CMatchSyntax;
2124
friend class ::ExtGnu;
2125
friend class ::ExtAC;
2126
friend class ::ExtACBuilderCoupling;
2127
friend class ::ExtACSyntaxCoupling;
2128
friend class ::ExtACTree;
2129
friend class ::ExtACKeywords;
2130
friend class ::WinAsm;
2131
friend class ::WinDeclSpecs;
2132
friend class ::WinMemberExplSpec;
2133
friend class ::WinTypeKeywords;
2134
friend class ::PragmaOnceUnitState;
2135
friend class ::PragmaOnce;
2136
friend class ::CCExprResolve;
2137
friend class ::CExprResolve;
2139
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/ListElement.h"
2143
List *_belonging_to;
2148
ListElement () : _belonging_to ((List*)0) {}
2149
virtual ~ListElement () { assert (! _belonging_to); };
2151
virtual ListElement *duplicate () = 0;
2152
List *belonging_to () const { return _belonging_to; }
2158
#endif /* __list_element_h__ */
2160
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
2163
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
2168
#line 2169 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2171
class WinImportHandler;
2176
class ExtACBuilderCoupling;
2177
class ExtACSyntaxCoupling;
2179
class ExtACKeywords;
2182
class WinMemberExplSpec;
2183
class WinTypeKeywords;
2184
class PragmaOnceUnitState;
2186
class CCExprResolve;
2190
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
2178
template <class Item>
2181
static const long default_init_size = 5;
2182
static const long default_increment = 5;
2185
Array (long is = default_init_size, long incr = default_increment);
2186
Array (const Array<Item>& array);
2187
Array<Item>& operator =(const Array<Item>&);
2189
void append (const Item& item);
2190
void insert (long index, const Item& item);
2191
void prepend (const Item& item);
2192
void remove (long index);
2194
Item& get (long index);
2195
Item& operator[] (long index);
2196
Item fetch (long index) const;
2197
Item& lookup (long index) const;
2198
long length () const;
2206
void grow (long wanted);
2209
template <class Item>
2210
inline Array<Item>::Array (long is, long incr) {
2217
template <class Item>
2218
Array<Item>::Array (const Array<Item>& array) {
2221
increment = array.increment;
2223
if (size && array.data) {
2224
data = new Item[size];
2225
for (; count < array.count; count++) {
2226
data[count] = array.data[count];
2232
template <class Item>
2233
Array<Item>& Array<Item>::operator =(const Array<Item>& array) {
2239
increment = array.increment;
2241
if (size && array.data) {
2242
data = new Item[size];
2243
for (; count < array.count; count++) {
2244
data[count] = array.data[count];
2252
template <class Item>
2253
Array<Item>::~Array () {
2258
template <class Item>
2259
inline void Array<Item>::grow (long wanted) {
2263
} while (wanted >= size);
2266
Item* new_data = new Item[size];
2267
for (long i = 0; i < count; i++) {
2268
new_data[i] = data[i];
2273
data = new Item[size];
2276
template <class Item>
2277
inline void Array<Item>::append (const Item& item) {
2278
if (count >= size || ! data) {
2281
data[count++] = item;
2284
template <class Item>
2285
void Array<Item>::prepend (const Item& item) {
2289
template <class Item>
2290
void Array<Item>::insert (long index, const Item& item) {
2291
if (count >= size || ! data) {
2294
for (long i = count; i > index; i--)
2295
data[i] = data[i - 1];
2300
template <class Item>
2301
inline Item& Array<Item>::get (long index) {
2302
if (index >= size || ! data) {
2310
template <class Item>
2311
inline Item& Array<Item>::operator[] (long index) {
2315
template <class Item>
2316
inline Item Array<Item>::fetch (long index) const {
2317
assert(index < count && data);
2321
template <class Item>
2322
inline long Array<Item>::length () const {
2326
template <class Item>
2327
inline void Array<Item>::remove (long index) {
2328
if (index < count && count > 0) {
2329
for (long i = index; i < count - 1; i++)
2330
data[i] = data[i + 1];
2337
inline void Array<int>::reset () {
2342
template <class Item>
2343
void Array<Item>::reset () {
2348
size = default_init_size;
2349
increment = default_increment;
2350
data = new Item[size];
2353
template <class Item>
2354
inline Item& Array<Item>::lookup (long index) const {
2355
assert(index >= 0 && index < count);
2362
// Array specialization for pointer types sharing method definitions
2366
#include "Puma/VoidPtrArray.h"
2371
template <class Item>
2372
class Array<Item*> : private VoidPtrArray {
2373
typedef VoidPtrArray Base;
2376
Array (long is = default_init_size, long incr = default_increment) :
2378
Array (const Array<Item*> &array) :
2380
Array<Item*> &operator= (const Array<Item*> &array)
2381
{ return (Array<Item*>&)Base::operator= (array); }
2385
void append (const Item *item) { Base::append ((void*)item); }
2386
void insert (long idx, const Item *item) { Base::insert (idx, (void*)item); }
2387
void prepend (const Item *item) { Base::prepend ((void*)item); }
2388
void remove (long idx) { Base::remove (idx); }
2389
void reset () { Base::reset (); }
2391
Item *&get (long idx) { return (Item*&)Base::get (idx); }
2392
Item *&operator[] (long idx) { return (Item*&)Base::operator[] (idx); }
2393
Item *fetch (long idx) const { return (Item*)Base::fetch (idx); }
2394
Item *&lookup (long idx) const { return (Item*&)Base::lookup (idx); }
2395
long length () const { return Base::length (); }
2403
#endif /* __array_h__ */
2405
#line 32 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2408
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2413
#line 2414 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
2415
class CCExprResolve;
2418
class WinImportHandler;
2422
class WinMemberExplSpec;
2423
class WinTypeKeywords;
2426
class ExtACBuilderCoupling;
2427
class ExtACSyntaxCoupling;
2429
class ExtACKeywords;
2431
class PragmaOnceUnitState;
2436
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2191
2437
class Token : public ListElement {
2192
#line 2193 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2438
#line 2439 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
2439
friend class ::CCExprResolve;
2440
friend class ::CExprResolve;
2193
2441
friend class ::WinIfExists;
2194
2442
friend class ::WinImportHandler;
2195
2443
friend class ::WinMacros;
2196
friend class ::CMatchSyntax;
2197
friend class ::ExtGnu;
2444
friend class ::WinAsm;
2445
friend class ::WinDeclSpecs;
2446
friend class ::WinMemberExplSpec;
2447
friend class ::WinTypeKeywords;
2448
friend class ::WinFriend;
2198
2449
friend class ::ExtAC;
2199
2450
friend class ::ExtACBuilderCoupling;
2200
2451
friend class ::ExtACSyntaxCoupling;
2201
2452
friend class ::ExtACTree;
2202
2453
friend class ::ExtACKeywords;
2203
friend class ::WinAsm;
2204
friend class ::WinDeclSpecs;
2205
friend class ::WinMemberExplSpec;
2206
friend class ::WinTypeKeywords;
2454
friend class ::ExtGnu;
2207
2455
friend class ::PragmaOnceUnitState;
2208
2456
friend class ::PragmaOnce;
2209
friend class ::CCExprResolve;
2210
friend class ::CExprResolve;
2457
friend class ::CMatchSyntax;
2212
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Token.h"
2459
#line 39 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/Token.h"
2214
2461
int _type, _real_type;
2216
2463
Location _location;
2217
2464
LanguageID _language;
2466
mutable DString _dtext;
2220
2468
Array<int> *_cont_lines;
2334
2583
#endif /* __Token_h__ */
2336
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2337
using namespace Puma;
2341
#line 33 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2346
#line 2347 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2347
class WinImportHandler;
2352
class ExtACBuilderCoupling;
2353
class ExtACSyntaxCoupling;
2355
class ExtACKeywords;
2358
class WinMemberExplSpec;
2359
class WinTypeKeywords;
2360
class PragmaOnceUnitState;
2362
class CCExprResolve;
2365
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2367
#line 2368 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2370
static WinIfExists *aspectof () {
2371
static WinIfExists __instance;
2374
static WinIfExists *aspectOf () {
2379
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2381
#line 2382 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2382
friend class ::WinImportHandler;
2383
friend class ::WinMacros;
2384
friend class ::CMatchSyntax;
2385
friend class ::ExtGnu;
2386
friend class ::ExtAC;
2387
friend class ::ExtACBuilderCoupling;
2388
friend class ::ExtACSyntaxCoupling;
2389
friend class ::ExtACTree;
2390
friend class ::ExtACKeywords;
2391
friend class ::WinAsm;
2392
friend class ::WinDeclSpecs;
2393
friend class ::WinMemberExplSpec;
2394
friend class ::WinTypeKeywords;
2395
friend class ::PragmaOnceUnitState;
2396
friend class ::PragmaOnce;
2397
friend class ::CCExprResolve;
2398
friend class ::CExprResolve;
2400
#line 36 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2402
/********************************************************/
2403
/* Win __if_exists and __if_not_exists */
2404
/********************************************************/
2406
// pointcut definitions
2408
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2411
// structural extensions
2413
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2416
// preprocess __if_exists and __if_not_exists statements
2418
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2420
public: template<class JoinPoint> void __a0_around
2421
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2423
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2425
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2427
#line 2428 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2429
JoinPoint *&thisJoinPoint = tjp;
2431
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2433
#line 2434 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2435
typedef typename JoinPoint::That __JP_That;
2436
typedef typename JoinPoint::Target __JP_Target;
2437
typedef typename JoinPoint::Result __JP_Result;
2439
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2444
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2447
preparser = tjp->that ();
2448
tjp->proceed (); // get the next token
2449
token = *tjp->result ();
2451
type = token->type ();
2452
// __if_exists (...) { ... }
2453
if (type == TOK_IF_EXISTS) {
2454
preparser->skip_up_to (TOK_CLOSE_CURLY);
2455
*(Token**)thisJoinPoint->result () = preparser->next ();
2457
// __if_not_exists (...) { ... }
2458
} else if (type == TOK_IF_NOT_EXISTS) {
2459
preparser->skip_up_to (TOK_OPEN_CURLY);
2460
preparser->_depth.push (1);
2461
*(Token**)thisJoinPoint->result () = preparser->next ();
2464
// skip closing `}' of __if_not_exists
2465
if (preparser->_depth.length ()) {
2466
if (type == TOK_OPEN_CURLY)
2467
preparser->_depth.top () = preparser->_depth.top () + 1;
2468
else if (type == TOK_CLOSE_CURLY) {
2469
preparser->_depth.top () = preparser->_depth.top () - 1;
2470
if (preparser->_depth.top () == 0) {
2471
preparser->_depth.pop ();
2472
*(Token**)thisJoinPoint->result () = preparser->next ();
2479
#line 2480 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2483
#line 84 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2489
#line 2490 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2492
template <class JoinPoint>
2493
inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp) {
2494
::WinIfExists::aspectof()->__a0_around (tjp);
2498
#line 88 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2503
#line 97 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2506
// skip __if_exists resp. __if_not_exists statement
2508
#line 137 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
2512
#endif /* __WinIfExists__ */
2514
#line 5 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
2515
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
2517
#line 2518 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2519
#ifndef __ac_fwd_PragmaOnce__
2520
#define __ac_fwd_PragmaOnce__
2523
template <class JoinPoint>
2524
inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
2525
template <class JoinPoint>
2526
inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
2527
template <class JoinPoint, class Binding>
2528
inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
2529
template <class JoinPoint>
2530
inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
2534
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
2535
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
2538
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
2539
/* Driver template for the LEMON parser generator.
2540
** Copyright 1991-1995 by D. Richard Hipp.
2542
** This library is free software; you can redistribute it and/or
2543
** modify it under the terms of the GNU Library General Public
2544
** License as published by the Free Software Foundation; either
2545
** version 2 of the License, or (at your option) any later version.
2547
** This library is distributed in the hope that it will be useful,
2548
** but WITHOUT ANY WARRANTY; without even the implied warranty of
2549
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2550
** Library General Public License for more details.
2552
** You should have received a copy of the GNU Library General Public
2553
** License along with this library; if not, write to the
2554
** Free Software Foundation, Inc., 59 Temple Place - Suite 330,
2555
** Boston, MA 02111-1307, USA.
2557
** Modified 1997 to make it suitable for use with makeheaders.
2559
/* First off, code is include which follows the "include" declaration
2560
** in the input file. */
2562
#line 27 "cpp/PreParser.lem"
2565
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
2566
// This file is part of PUMA.
2567
// Copyright (C) 1999-2003 The PUMA developer team.
2569
// This program is free software; you can redistribute it and/or
2570
// modify it under the terms of the GNU General Public License as
2571
// published by the Free Software Foundation; either version 2 of
2572
// the License, or (at your option) any later version.
2574
// This program is distributed in the hope that it will be useful,
2575
// but WITHOUT ANY WARRANTY; without even the implied warranty of
2576
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2577
// GNU General Public License for more details.
2579
// You should have received a copy of the GNU General Public
2580
// License along with this program; if not, write to the Free
2581
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2582
// MA 02111-1307 USA
2588
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
2593
#line 2594 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2596
class WinImportHandler;
2601
class ExtACBuilderCoupling;
2602
class ExtACSyntaxCoupling;
2604
class ExtACKeywords;
2607
class WinMemberExplSpec;
2608
class WinTypeKeywords;
2609
class PragmaOnceUnitState;
2611
class CCExprResolve;
2615
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
2617
#line 2618 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2618
friend class ::WinIfExists;
2619
friend class ::WinImportHandler;
2620
friend class ::WinMacros;
2621
friend class ::CMatchSyntax;
2622
friend class ::ExtGnu;
2623
friend class ::ExtAC;
2624
friend class ::ExtACBuilderCoupling;
2625
friend class ::ExtACSyntaxCoupling;
2626
friend class ::ExtACTree;
2627
friend class ::ExtACKeywords;
2628
friend class ::WinAsm;
2629
friend class ::WinDeclSpecs;
2630
friend class ::WinMemberExplSpec;
2631
friend class ::WinTypeKeywords;
2632
friend class ::PragmaOnceUnitState;
2633
friend class ::PragmaOnce;
2634
friend class ::CCExprResolve;
2635
friend class ::CExprResolve;
2637
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/List.h"
2639
ListElement *_first;
2643
List () : _first ((ListElement*)0), _last ((ListElement*)0) {}
2644
List (const List &);
2647
List &operator = (const List &);
2648
List &operator += (const List &);
2649
List operator + (const List &);
2653
void append (ListElement &);
2654
void prepend (ListElement &);
2655
void insert (ListElement *at, ListElement &element);
2656
void remove (ListElement *element);
2657
void kill (ListElement *from, ListElement *to = (ListElement*)0)
2658
{ List discard; cut (discard, from, to); }
2660
void cut (List &out, ListElement *from, ListElement *to = (ListElement*)0);
2661
//List *cut (ListElement *from, ListElement *to = (ListElement*)0);
2662
List *copy (ListElement *from = (ListElement*)0,
2663
ListElement *to = (ListElement*)0);
2664
void paste (ListElement *at, const List &l);
2665
void paste_before (ListElement *at, const List &l);
2666
void move (ListElement *at, List &l);
2667
void move_before (ListElement *at, List &l);
2669
bool empty () const { return _first == (ListElement*)0; }
2670
const ListElement *first () const { return _first; }
2671
const ListElement *last () const { return _last; }
2672
const ListElement *next (const ListElement *element) const
2673
{ return element->_next; }
2674
const ListElement *prev (const ListElement *element) const
2675
{ return element->_prev; }
2681
#endif /* __list_h__ */
2683
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
2684
// This file is part of PUMA.
2685
// Copyright (C) 1999-2003 The PUMA developer team.
2687
// This program is free software; you can redistribute it and/or
2688
// modify it under the terms of the GNU General Public License as
2689
// published by the Free Software Foundation; either version 2 of
2690
// the License, or (at your option) any later version.
2692
// This program is distributed in the hope that it will be useful,
2693
// but WITHOUT ANY WARRANTY; without even the implied warranty of
2694
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2695
// GNU General Public License for more details.
2697
// You should have received a copy of the GNU General Public
2698
// License along with this program; if not, write to the Free
2699
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2700
// MA 02111-1307 USA
2706
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2708
#line 2709 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2710
#ifndef __ac_fwd_PragmaOnceUnitState__
2711
#define __ac_fwd_PragmaOnceUnitState__
2712
class PragmaOnceUnitState;
2714
template <class JoinPoint>
2715
inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp);
2719
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2720
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
2723
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2725
#line 2726 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2727
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2728
// This file is part of PUMA.
2729
// Copyright (C) 1999-2003 The PUMA developer team.
2731
// This program is free software; you can redistribute it and/or
2732
// modify it under the terms of the GNU General Public License as
2733
// published by the Free Software Foundation; either version 2 of
2734
// the License, or (at your option) any later version.
2736
// This program is distributed in the hope that it will be useful,
2737
// but WITHOUT ANY WARRANTY; without even the implied warranty of
2738
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2739
// GNU General Public License for more details.
2741
// You should have received a copy of the GNU General Public
2742
// License along with this program; if not, write to the Free
2743
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2744
// MA 02111-1307 USA
2746
#ifndef __PragmaOnceUnitState__
2747
#define __PragmaOnceUnitState__
2749
using namespace Puma;
2752
#line 2753 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2754
class WinImportHandler;
2759
class ExtACBuilderCoupling;
2760
class ExtACSyntaxCoupling;
2762
class ExtACKeywords;
2765
class WinMemberExplSpec;
2766
class WinTypeKeywords;
2768
class CCExprResolve;
2771
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2772
class PragmaOnceUnitState {
2773
#line 2774 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2776
static PragmaOnceUnitState *aspectof () {
2777
static PragmaOnceUnitState __instance;
2780
static PragmaOnceUnitState *aspectOf () {
2785
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2787
#line 2788 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2788
friend class ::WinIfExists;
2789
friend class ::WinImportHandler;
2790
friend class ::WinMacros;
2791
friend class ::CMatchSyntax;
2792
friend class ::ExtGnu;
2793
friend class ::ExtAC;
2794
friend class ::ExtACBuilderCoupling;
2795
friend class ::ExtACSyntaxCoupling;
2796
friend class ::ExtACTree;
2797
friend class ::ExtACKeywords;
2798
friend class ::WinAsm;
2799
friend class ::WinDeclSpecs;
2800
friend class ::WinMemberExplSpec;
2801
friend class ::WinTypeKeywords;
2802
friend class ::PragmaOnce;
2803
friend class ::CCExprResolve;
2804
friend class ::CExprResolve;
2806
#line 24 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2808
/******************************************************/
2809
/* specific #pragma once unit state */
2810
/******************************************************/
2812
// pointcut definitions
2814
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2818
#line 39 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2821
// initialize new state flag
2823
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2825
public: template<class JoinPoint> void __a0_after
2826
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2828
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2830
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2832
#line 2833 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2834
JoinPoint *&thisJoinPoint = tjp;
2836
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2838
#line 2839 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2840
typedef typename JoinPoint::That __JP_That;
2841
typedef typename JoinPoint::Target __JP_Target;
2842
typedef typename JoinPoint::Result __JP_Result;
2844
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2846
thisJoinPoint->that ()->_once = false;
2848
#line 2849 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2852
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2856
// this aspect should never be instantiated directly
2857
PragmaOnceUnitState () {}
2859
#line 2860 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2862
template <class JoinPoint>
2863
inline void invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after (JoinPoint *tjp) {
2864
::PragmaOnceUnitState::aspectof()->__a0_after (tjp);
2868
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2872
#endif /* __PragmaOnceUnitState__ */
2874
#line 4 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2875
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
2876
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
2878
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2879
// This file is part of PUMA.
2880
// Copyright (C) 1999-2003 The PUMA developer team.
2882
// This program is free software; you can redistribute it and/or
2883
// modify it under the terms of the GNU General Public License as
2884
// published by the Free Software Foundation; either version 2 of
2885
// the License, or (at your option) any later version.
2887
// This program is distributed in the hope that it will be useful,
2888
// but WITHOUT ANY WARRANTY; without even the implied warranty of
2889
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2890
// GNU General Public License for more details.
2892
// You should have received a copy of the GNU General Public
2893
// License along with this program; if not, write to the Free
2894
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2895
// MA 02111-1307 USA
2897
#ifndef __UnitState__
2898
#define __UnitState__
2900
// The state of a unit:
2901
// 1. modified by manipulations and not updated at the class registry
2902
// 2. modified by manipulations and updated at the class registry
2903
// 3. unmodified by manipulations and not updated at the class registry
2904
// 4. unmodified by manipulations and updated at the class registry
2910
#line 2911 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2913
class WinImportHandler;
2918
class ExtACBuilderCoupling;
2919
class ExtACSyntaxCoupling;
2921
class ExtACKeywords;
2924
class WinMemberExplSpec;
2925
class WinTypeKeywords;
2926
class PragmaOnceUnitState;
2928
class CCExprResolve;
2932
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2934
#line 2935 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2935
friend class ::WinIfExists;
2936
friend class ::WinImportHandler;
2937
friend class ::WinMacros;
2938
friend class ::CMatchSyntax;
2939
friend class ::ExtGnu;
2940
friend class ::ExtAC;
2941
friend class ::ExtACBuilderCoupling;
2942
friend class ::ExtACSyntaxCoupling;
2943
friend class ::ExtACTree;
2944
friend class ::ExtACKeywords;
2945
friend class ::WinAsm;
2946
friend class ::WinDeclSpecs;
2947
friend class ::WinMemberExplSpec;
2948
friend class ::WinTypeKeywords;
2949
friend class ::PragmaOnceUnitState;
2950
friend class ::PragmaOnce;
2951
friend class ::CCExprResolve;
2952
friend class ::CExprResolve;
2954
#line 31 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2962
#line 2963 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2963
public: inline void __exec_old_C1();
2965
#line 37 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2968
bool isModified () const;
2969
bool isUpdated () const;
2970
long lastModified () const;
2972
// Is modified and has to be updated.
2974
void lastModified (long);
2979
#line 34 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnceUnitState.ah"
2983
bool onlyOnce ( ) const { return _once ; }
2984
void onlyOnce ( bool v ) { _once = v ; }
2985
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
2987
#line 2988 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
2989
struct TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 {
2990
typedef void Result;
2991
typedef ::Puma::UnitState That;
2992
typedef ::Puma::UnitState Target;
2993
static const int JPID = 5;
2994
static const AC::JPType JPTYPE = (AC::JPType)16;
2997
typedef void ReferredType;
3000
template <int I, int DUMMY = 0> struct Arg {
3002
typedef void ReferredType;
3004
template <int DUMMY> struct Arg<0, DUMMY> {
3005
typedef const ::Puma::UnitState & Type;
3006
typedef const ::Puma::UnitState ReferredType;
3011
inline That *that() {return (That*)_that;}
3016
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3018
#line 3019 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3021
inline UnitState (const Puma::UnitState & arg0) : _modified (arg0._modified), _updated (arg0._updated), _lastModified (arg0._lastModified), _once (arg0._once) {
3022
TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0 tjp;
3023
tjp._that = (TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0::That*)this;
3024
AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1ERKN4PumaE9UnitState_0> (&tjp);
3028
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3032
#line 3033 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3035
struct TJP__ZN4Puma9UnitStateC1Ev_0 {
3036
typedef void Result;
3037
typedef ::Puma::UnitState That;
3038
typedef ::Puma::UnitState Target;
3039
static const int JPID = 5;
3040
static const AC::JPType JPTYPE = (AC::JPType)16;
3043
typedef void ReferredType;
3046
template <int I, int DUMMY = 0> struct Arg {
3048
typedef void ReferredType;
3053
inline That *that() {return (That*)_that;}
3058
#line 50 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3059
inline UnitState::UnitState ()
3061
#line 3062 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3063
TJP__ZN4Puma9UnitStateC1Ev_0 tjp;
3064
tjp._that = (TJP__ZN4Puma9UnitStateC1Ev_0::That*)this;
3065
this->__exec_old_C1();
3066
AC::invoke_PragmaOnceUnitState_PragmaOnceUnitState_a0_after<TJP__ZN4Puma9UnitStateC1Ev_0> (&tjp);
3069
inline void Puma::UnitState::__exec_old_C1()
3070
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3071
{ _modified = false; _updated = false; _lastModified = 0; }
3073
inline bool UnitState::isModified () const
3074
{ return _modified; }
3075
inline bool UnitState::isUpdated () const
3076
{ return _updated; }
3077
inline long UnitState::lastModified () const
3078
{ return _lastModified; }
3080
inline void UnitState::modified ()
3081
{ _modified = true; _updated = false; _lastModified = 0; }
3082
inline void UnitState::unmodified ()
3083
{ _modified = false; }
3084
inline void UnitState::updated ()
3085
{ _updated = true; }
3086
inline void UnitState::lastModified (long when)
3087
{ _lastModified = when; }
3092
#endif /* __UnitState__ */
3094
#line 3095 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3095
#endif // __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_UnitState_h__
3097
#line 72 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/UnitState.h"
3099
#line 26 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
3104
#line 3105 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3107
class WinImportHandler;
3112
class ExtACBuilderCoupling;
3113
class ExtACSyntaxCoupling;
3115
class ExtACKeywords;
3118
class WinMemberExplSpec;
3119
class WinTypeKeywords;
3120
class PragmaOnceUnitState;
3122
class CCExprResolve;
3126
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
3127
class Unit : public List, public Printable {
3128
#line 3129 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
3129
friend class ::WinIfExists;
3130
friend class ::WinImportHandler;
3131
friend class ::WinMacros;
3132
friend class ::CMatchSyntax;
3133
friend class ::ExtGnu;
3134
friend class ::ExtAC;
3135
friend class ::ExtACBuilderCoupling;
3136
friend class ::ExtACSyntaxCoupling;
3137
friend class ::ExtACTree;
3138
friend class ::ExtACKeywords;
3139
friend class ::WinAsm;
3140
friend class ::WinDeclSpecs;
3141
friend class ::WinMemberExplSpec;
3142
friend class ::WinTypeKeywords;
3143
friend class ::PragmaOnceUnitState;
3144
friend class ::PragmaOnce;
3145
friend class ::CCExprResolve;
3146
friend class ::CExprResolve;
3148
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/Unit.h"
3154
Unit () : List (), _name ((char*)0) {}
3155
Unit (const List &list) : List (list), _name ((char*)0) {}
3157
virtual void name (const char *);
3158
char *name () const { return _name; }
3159
virtual void print (ostream &os) const;
3160
virtual bool isFile () const { return false; }
3161
virtual bool isMacroExp () const { return false; }
3162
UnitState &state () { return _state; }
3168
#endif /* __unit_h__ */
3170
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreExpr.h"
2585
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreExpr.h"
3171
2586
// This file is part of PUMA.
3172
2587
// Copyright (C) 1999-2003 The PUMA developer team.
5084
4443
#endif /* __SimpleParser_h__ */
5086
#line 25 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4445
#line 25 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
5087
4446
using namespace std;
5089
4448
namespace Puma {
4451
/** \brief The %Options %Parser searches command line parameters for options and
4452
* handles their option arguments, if applicable.
5093
#line 5094 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
4455
#line 4456 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
5094
4456
} // closed Puma
4457
class CCExprResolve;
5095
4459
class WinIfExists;
5096
4460
class WinImportHandler;
5097
4461
class WinMacros;
4464
class WinMemberExplSpec;
4465
class WinTypeKeywords;
5101
4468
class ExtACBuilderCoupling;
5102
4469
class ExtACSyntaxCoupling;
5103
4470
class ExtACTree;
5104
4471
class ExtACKeywords;
5107
class WinMemberExplSpec;
5108
class WinTypeKeywords;
5109
4473
class PragmaOnceUnitState;
5110
4474
class PragmaOnce;
5111
class CCExprResolve;
5113
4476
namespace Puma {
5115
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4478
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
5116
4479
class OptsParser : public SimpleParser {
5117
#line 5118 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
4480
#line 4481 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4481
friend class ::CCExprResolve;
4482
friend class ::CExprResolve;
5118
4483
friend class ::WinIfExists;
5119
4484
friend class ::WinImportHandler;
5120
4485
friend class ::WinMacros;
5121
friend class ::CMatchSyntax;
5122
friend class ::ExtGnu;
4486
friend class ::WinAsm;
4487
friend class ::WinDeclSpecs;
4488
friend class ::WinMemberExplSpec;
4489
friend class ::WinTypeKeywords;
4490
friend class ::WinFriend;
5123
4491
friend class ::ExtAC;
5124
4492
friend class ::ExtACBuilderCoupling;
5125
4493
friend class ::ExtACSyntaxCoupling;
5126
4494
friend class ::ExtACTree;
5127
4495
friend class ::ExtACKeywords;
5128
friend class ::WinAsm;
5129
friend class ::WinDeclSpecs;
5130
friend class ::WinMemberExplSpec;
5131
friend class ::WinTypeKeywords;
4496
friend class ::ExtGnu;
5132
4497
friend class ::PragmaOnceUnitState;
5133
4498
friend class ::PragmaOnce;
5134
friend class ::CCExprResolve;
5135
friend class ::CExprResolve;
5137
#line 30 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4499
friend class ::CMatchSyntax;
4501
#line 33 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4505
/** \brief Vector holding the commandline parameters.
4507
* This vector is filled in the constructor
5139
4509
vector<string> m_argv;
4511
/** \brief Position of current parameter analyzed by the
5140
4514
unsigned int m_curarg;
4516
/** \brief The increment added to m_curarg used to get to the next
4517
* entry of m_argv which shall be analysed.
5141
4519
unsigned int m_tonext;
4521
/** \brief %Option number of currently processed element of m_argv
4525
/** \brief Name of current option
4529
/** \brief Value of current option argument
5149
enum {NOARG =-4, ERR = -3, NOOPTION = -2, UNKNOWN = -1, FINISH = 0 };
5151
enum ArgType { AT_NONE = 0, AT_MANDATORY = 1, AT_OPTIONAL = 2 };
4537
* Return codes for OptsParser::getOption() and OptsParser::getArgument()
4540
NOARG =-4, /**< %Option has no argument */
4541
ERR = -3, /**< Error when parsing option */
4542
NOOPTION = -2, /**< Command line parameter is not an option */
4543
UNKNOWN = -1, /**< Parameter is an unknown option */
4544
FINISH = 0 /**< All options are handled */
4548
* Type of argument associated to an option
4551
AT_NONE = 0, /**< %Option receives no argument */
4552
AT_MANDATORY = 1, /**< %Option requires an argument */
4553
AT_OPTIONAL = 2 /**< %Option has optionally an argument */
4557
* Type for specifying an array of options recognized by the %Option %Parser.
4558
* An array of this type has to be passed to the constructor OptsParser::OptsParser()
5153
4560
struct Option {
5154
#line 5155 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
4561
#line 4562 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
4562
friend class ::CCExprResolve;
4563
friend class ::CExprResolve;
5155
4564
friend class ::WinIfExists;
5156
4565
friend class ::WinImportHandler;
5157
4566
friend class ::WinMacros;
5158
friend class ::CMatchSyntax;
5159
friend class ::ExtGnu;
4567
friend class ::WinAsm;
4568
friend class ::WinDeclSpecs;
4569
friend class ::WinMemberExplSpec;
4570
friend class ::WinTypeKeywords;
4571
friend class ::WinFriend;
5160
4572
friend class ::ExtAC;
5161
4573
friend class ::ExtACBuilderCoupling;
5162
4574
friend class ::ExtACSyntaxCoupling;
5163
4575
friend class ::ExtACTree;
5164
4576
friend class ::ExtACKeywords;
5165
friend class ::WinAsm;
5166
friend class ::WinDeclSpecs;
5167
friend class ::WinMemberExplSpec;
5168
friend class ::WinTypeKeywords;
4577
friend class ::ExtGnu;
5169
4578
friend class ::PragmaOnceUnitState;
5170
4579
friend class ::PragmaOnce;
5171
friend class ::CCExprResolve;
5172
friend class ::CExprResolve;
5174
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4580
friend class ::CMatchSyntax;
4582
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/OptsParser.h"
4584
int number; /**< Number associated with this option */
4585
const char *shortName; /**< Short name of this option. Should ideally not contain more than one character */
4586
const char *longName; /**< Long namen of this option */
4587
const char *desc; /**< Description of this option **/
4588
ArgType argType; /**< Type of argument for this option */
4592
/** Pointer to array of available options. This value is set to the value of the
4593
* parameter passed to the constructor OptsParser::OptsParser()
5184
4595
const Option *m_opts;
5187
OptsParser (int, char **, const Option *);
5188
OptsParser (const string &, const Option *);
4598
/** \brief Constructor of OptsParser
4600
* \param argc Number of parameters to be analyzed
4601
* \param argv Parameters to be analyzed
4602
* \param opts Pointer to array of options which shall be
4603
* recognized by the options parser
4606
OptsParser (int argc, char **argv, const Option *opts);
4608
/** \brief Constructor of OptsParser
4610
* \param line Reference to string with parameters to analyse
4611
* The paramaters are extracted from the string by splitting it up
4617
* \param opts Pointer to array of options which shall be
4618
* recognized by the options parser
4620
OptsParser (const string &line, const Option *);
5190
int getCurrentArgNum () const;
5191
int getNextArgNum () const;
4623
/** Get next parameter without modification.
4624
* No option parsing is done
4626
* \return OptsParser::NOOPTION or OptsParser::FINISH
4628
int getRawOption ();
4630
/** \brief Get next option
4632
* This function processes the next parameter passed to the constructor
4633
* OptsParser::OptsParser().
4634
* That is, search for options and eventually process
4635
* option and option arguement.
4637
* \return Number of option recognized by the options parser or
4638
* OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
4639
* OptsParser::UNKNOWN or OptsParser::FINISH.
5192
4642
int getOption ();
4644
/** \brief Get result of last processed parameter
4646
* The number returned by this function is identical to the number
4647
* returned by the last call of OptsParser::getOption
4649
* \return Number of option recognized by the options parser or
4650
* OptsParser::NOARG, OptsParser::ERR, OptsParser::NOOPTION,
4651
* OptsParser::UNKNOWN or OptsParser::FINISH.
5193
4654
int getResult () const;
4656
/** \brief Get option argument of last processed parameter
4658
* This function returns the argument of the option processed during
4659
* OptsParser::getOption. If the option does not provide any argument
4660
* the string will be empty.
4662
* If OptsParser::getOption or respectively OptsParser::getResult returns with
4663
* OptsParser::NOOPTION this function (OptsParser::getArgument) returns the last processed parameter,
4664
* which is no option, of course.
4666
* \return Argument of last processed parameter
5195
4668
const string &getArgument () const;
4670
/** \brief Get option name of last processed parameter
4672
* If the last processed parameter did not contain an option the string
4673
* returned by this function is empty.
4675
* \return Name of last processed parameter
5196
4678
const string &getOptionName () const;
4680
/** \brief Get position of current argument
4682
* \return Position of currently processed parameter previously passed to OptsParser::OptsParser()
4685
int getCurrentArgNum () const;
4687
/** \brief Get position of next argument
4689
* \return Position of next parameter which will be processed by the %Options %Parser
4692
int getNextArgNum () const;
5198
bool revokeArgument();
5201
int getShortOption (const string &);
5202
int getLongOption (const string &);
5203
bool processOption (const string &, unsigned int,ArgType argtype);
4695
/** Search for an option in m_argv at position m_curarg
4697
* \param arg Currently processed parameter
4699
const Option* findOption(const string &arg, bool isLong);
4701
/** Process an option found by OptsParser::findOption().
4703
bool processOption (const string &arg, const Option* curOpt, bool isLong);
7059
6841
// Preprocessor class to handle includes.
7062
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7064
#line 7065 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
6844
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
6846
#line 6847 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
6848
#ifndef __ac_fwd_PragmaOnce__
6849
#define __ac_fwd_PragmaOnce__
6852
template <class JoinPoint>
6853
__attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
6854
template <class JoinPoint>
6855
__attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
6856
template <class JoinPoint>
6857
__attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
6858
template <class JoinPoint>
6859
__attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
6863
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
6864
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
7066
6867
#ifndef __ac_fwd_WinIfExists__
7067
6868
#define __ac_fwd_WinIfExists__
7068
6869
class WinIfExists;
7070
6871
template <class JoinPoint>
7071
inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
6872
__attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp);
7075
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
7076
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
6876
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
6877
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
7079
6880
#ifndef __ac_fwd_WinImportHandler__
7080
6881
#define __ac_fwd_WinImportHandler__
7081
6882
class WinImportHandler;
7083
template <class JoinPoint, class Binding>
7084
inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
7088
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
7089
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
7092
#ifndef __ac_fwd_PragmaOnce__
7093
#define __ac_fwd_PragmaOnce__
7096
template <class JoinPoint>
7097
inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp);
7098
template <class JoinPoint>
7099
inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp);
7100
template <class JoinPoint, class Binding>
7101
inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp);
7102
template <class JoinPoint>
7103
inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp);
7107
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
7108
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
6884
template <class JoinPoint>
6885
__attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp);
6889
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
6890
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
7111
6893
#ifndef __ac_fwd_WinMacros__
7112
6894
#define __ac_fwd_WinMacros__
7113
6895
class WinMacros;
7115
template <class JoinPoint, class Binding>
7116
inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
6897
template <class JoinPoint>
6898
__attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp);
7120
#ifndef __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
7121
#define __ac_need__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
6902
#ifndef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
6903
#define __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
7124
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7126
#line 7127 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7128
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7129
// This file is part of PUMA.
7130
// Copyright (C) 1999-2003 The PUMA developer team.
7132
// This program is free software; you can redistribute it and/or
7133
// modify it under the terms of the GNU General Public License as
7134
// published by the Free Software Foundation; either version 2 of
7135
// the License, or (at your option) any later version.
7137
// This program is distributed in the hope that it will be useful,
7138
// but WITHOUT ANY WARRANTY; without even the implied warranty of
7139
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7140
// GNU General Public License for more details.
7142
// You should have received a copy of the GNU General Public
7143
// License along with this program; if not, write to the Free
7144
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
7145
// MA 02111-1307 USA
7147
#ifndef __WinImportHandler__
7148
#define __WinImportHandler__
7150
/********************************************************/
7151
/* Win #import directive support */
7152
/********************************************************/
7155
#line 29 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7156
using namespace Puma;
7160
#line 7161 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7166
class ExtACBuilderCoupling;
7167
class ExtACSyntaxCoupling;
7169
class ExtACKeywords;
7172
class WinMemberExplSpec;
7173
class WinTypeKeywords;
7174
class PragmaOnceUnitState;
7176
class CCExprResolve;
7179
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7180
class WinImportHandler {
7181
#line 7182 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7184
static WinImportHandler *aspectof () {
7185
static WinImportHandler __instance;
7188
static WinImportHandler *aspectOf () {
7193
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7195
#line 7196 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7196
friend class ::WinIfExists;
7197
friend class ::WinMacros;
7198
friend class ::CMatchSyntax;
7199
friend class ::ExtGnu;
7200
friend class ::ExtAC;
7201
friend class ::ExtACBuilderCoupling;
7202
friend class ::ExtACSyntaxCoupling;
7203
friend class ::ExtACTree;
7204
friend class ::ExtACKeywords;
7205
friend class ::WinAsm;
7206
friend class ::WinDeclSpecs;
7207
friend class ::WinMemberExplSpec;
7208
friend class ::WinTypeKeywords;
7209
friend class ::PragmaOnceUnitState;
7210
friend class ::PragmaOnce;
7211
friend class ::CCExprResolve;
7212
friend class ::CExprResolve;
7214
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7216
/********************************************************/
7217
/* Win #import directive */
7218
/********************************************************/
7222
#line 38 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7225
// add access method for _importHandler data member
7227
#line 44 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7230
// handle --import-handler option
7232
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7234
public: template<class JoinPoint> void __a0_before
7235
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7237
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7238
(JoinPoint *tjp, const Config &config, bool process_includes)
7239
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7241
#line 7242 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7243
JoinPoint *&thisJoinPoint = tjp;
7245
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7247
#line 7248 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7249
typedef typename JoinPoint::That __JP_That;
7250
typedef typename JoinPoint::Target __JP_Target;
7251
typedef typename JoinPoint::Result __JP_Result;
7253
#line 49 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7255
const ConfOption *opt;
7258
if (process_includes) {
7259
opt = config.Option ("--import-handler");
7260
if (opt && opt->Arguments ()) {
7261
// delete old import handler
7262
if (thisJoinPoint->that ()->_importHandler)
7263
delete[] thisJoinPoint->that ()->_importHandler;
7265
// get new import handler
7266
tmp = new char[strlen (opt->Argument (0))+1];
7267
strcpy (tmp, opt->Argument (0));
7268
thisJoinPoint->that ()->_importHandler = tmp;
7272
#line 7273 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7276
#line 66 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7280
WinImportHandler () {}
7282
#line 7283 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7285
template <class JoinPoint, class Binding>
7286
inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp) {
7287
typedef typename Binding::template Arg<0> Arg0;
7288
typedef typename Binding::template Arg<1> Arg1;
7289
::WinImportHandler::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp), (bool)Arg1::val (tjp));
7293
#line 70 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinImportHandler.ah"
7297
#endif /* __WinImportHandler__ */
7299
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7300
// This file is part of PUMA.
7301
// Copyright (C) 1999-2003 The PUMA developer team.
7303
// This program is free software; you can redistribute it and/or
7304
// modify it under the terms of the GNU General Public License as
7305
// published by the Free Software Foundation; either version 2 of
7306
// the License, or (at your option) any later version.
7308
// This program is distributed in the hope that it will be useful,
7309
// but WITHOUT ANY WARRANTY; without even the implied warranty of
7310
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7311
// GNU General Public License for more details.
7313
// You should have received a copy of the GNU General Public
7314
// License along with this program; if not, write to the Free
7315
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
7316
// MA 02111-1307 USA
7318
#ifndef __PragmaOnce__
7319
#define __PragmaOnce__
7321
/********************************************************/
7322
/* Win #pragma once support aspect */
7323
/********************************************************/
7326
#line 27 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7331
#line 32 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7332
using namespace Puma;
7336
#line 7337 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7338
class WinImportHandler;
7343
class ExtACBuilderCoupling;
7344
class ExtACSyntaxCoupling;
7346
class ExtACKeywords;
7349
class WinMemberExplSpec;
7350
class WinTypeKeywords;
7351
class PragmaOnceUnitState;
7352
class CCExprResolve;
7355
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7357
#line 7358 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7360
static PragmaOnce *aspectof () {
7361
static PragmaOnce __instance;
7364
static PragmaOnce *aspectOf () {
7369
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7371
#line 7372 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7372
friend class ::WinIfExists;
7373
friend class ::WinImportHandler;
7374
friend class ::WinMacros;
7375
friend class ::CMatchSyntax;
7376
friend class ::ExtGnu;
7377
friend class ::ExtAC;
7378
friend class ::ExtACBuilderCoupling;
7379
friend class ::ExtACSyntaxCoupling;
7380
friend class ::ExtACTree;
7381
friend class ::ExtACKeywords;
7382
friend class ::WinAsm;
7383
friend class ::WinDeclSpecs;
7384
friend class ::WinMemberExplSpec;
7385
friend class ::WinTypeKeywords;
7386
friend class ::PragmaOnceUnitState;
7387
friend class ::CCExprResolve;
7388
friend class ::CExprResolve;
7390
#line 35 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7392
/******************************************************/
7393
/* detect #pragma once in the token stream of cpp */
7394
/******************************************************/
7396
// pointcut definitions
7398
#line 41 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7401
#line 42 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7404
// extend the preprocessor parser by the filter state
7406
#line 45 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7409
// initialize the filter state
7411
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7413
public: template<class JoinPoint> void __a0_after
7414
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7416
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7418
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7420
#line 7421 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7422
typedef typename JoinPoint::That __JP_That;
7423
typedef typename JoinPoint::Target __JP_Target;
7424
typedef typename JoinPoint::Result __JP_Result;
7426
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7428
// TODO: it would be better to have construction advice -> but in lem file
7429
tjp->that ()->_pragma_token = 0;
7431
#line 7432 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7435
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7438
// filter #pragma once
7440
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7442
public: template<class JoinPoint> void __a1_after
7443
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7445
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7447
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7449
#line 7450 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7451
typedef typename JoinPoint::That __JP_That;
7452
typedef typename JoinPoint::Target __JP_Target;
7453
typedef typename JoinPoint::Result __JP_Result;
7455
#line 54 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7457
Token *tok = *tjp->result ();
7459
#line 56 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7460
&that = *tjp->that ();
7461
if (!tok || !tok->is_directive ()) {
7462
that._pragma_token = 0;
7465
if (strcmp ("#pragma", tok->text ()) == 0) {
7466
that._pragma_token = tok;
7468
else if (that._pragma_token && strcmp ("once", tok->text ()) == 0) {
7469
Unit *unit = (Unit*)tok->belonging_to ();
7471
unit->state ().onlyOnce (true);
7474
#line 7475 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7478
#line 69 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7481
/********************************************************/
7482
/* block the handling of pragma once files */
7483
/********************************************************/
7485
// don't let file includer include files twice
7486
// to be precise: the file is included again, but the inclusion produces
7489
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7491
public: template<class JoinPoint> void __a2_around
7492
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7494
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7495
(JoinPoint *tjp, Unit *unit)
7496
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7498
#line 7499 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7500
typedef typename JoinPoint::That __JP_That;
7501
typedef typename JoinPoint::Target __JP_Target;
7502
typedef typename JoinPoint::Result __JP_Result;
7504
#line 80 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7506
if (! unit || ! unit->state ().onlyOnce ())
7509
#line 7510 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7513
#line 83 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7516
// includeFile shall return 0 if the file was not included
7518
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7520
public: template<class JoinPoint> void __a3_after
7521
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7523
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7525
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7527
#line 7528 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7529
typedef typename JoinPoint::That __JP_That;
7530
typedef typename JoinPoint::Target __JP_Target;
7531
typedef typename JoinPoint::Result __JP_Result;
7533
#line 87 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7535
Unit *&unit = *tjp->result ();
7536
if (unit && unit->state ().onlyOnce ())
7539
#line 7540 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7543
#line 91 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7547
// this aspect should never be instantiated directly
7550
#line 7551 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
7553
template <class JoinPoint>
7554
inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp) {
7555
::PragmaOnce::aspectof()->__a0_after (tjp);
7557
template <class JoinPoint>
7558
inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp) {
7559
::PragmaOnce::aspectof()->__a1_after (tjp);
7561
template <class JoinPoint, class Binding>
7562
inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp) {
7563
typedef typename Binding::template Arg<0> Arg0;
7564
::PragmaOnce::aspectof()->__a2_around (tjp, (Puma::Unit *)Arg0::val (tjp));
7566
template <class JoinPoint>
7567
inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp) {
7568
::PragmaOnce::aspectof()->__a3_after (tjp);
7572
#line 96 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/PragmaOnce.ah"
7576
#endif /* __PragmaOnce__ */
7578
#line 6 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7579
#ifndef __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
7580
#define __ac_guard__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_inc_Puma_PreprocessorParser_h__
7582
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
6906
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7583
6907
// This file is part of PUMA.
7584
6908
// Copyright (C) 1999-2003 The PUMA developer team.
8378
7766
class PrePredicateManager;
8381
#line 8382 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8384
class WinImportHandler;
8389
class ExtACBuilderCoupling;
8390
class ExtACSyntaxCoupling;
8392
class ExtACKeywords;
8395
class WinMemberExplSpec;
8396
class WinTypeKeywords;
8397
class PragmaOnceUnitState;
8399
class CCExprResolve;
8403
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7769
#line 7770 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7771
class CCExprResolve;
7774
class WinImportHandler;
7778
class WinMemberExplSpec;
7779
class WinTypeKeywords;
7782
class ExtACBuilderCoupling;
7783
class ExtACSyntaxCoupling;
7785
class ExtACKeywords;
7787
class PragmaOnceUnitState;
7792
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
7794
#line 7795 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7797
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
7798
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
7800
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7801
// This file is part of PUMA.
7802
// Copyright (C) 1999-2003 The PUMA developer team.
7804
// This program is free software; you can redistribute it and/or
7805
// modify it under the terms of the GNU General Public License as
7806
// published by the Free Software Foundation; either version 2 of
7807
// the License, or (at your option) any later version.
7809
// This program is distributed in the hope that it will be useful,
7810
// but WITHOUT ANY WARRANTY; without even the implied warranty of
7811
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7812
// GNU General Public License for more details.
7814
// You should have received a copy of the GNU General Public
7815
// License along with this program; if not, write to the Free
7816
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
7817
// MA 02111-1307 USA
7819
#ifndef __WinIfExists__
7820
#define __WinIfExists__
7822
/********************************************************/
7823
/* Win __if_exists and __if_not_exists support aspect */
7824
/********************************************************/
7827
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7830
#line 31 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7835
#line 7836 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7836
class CCExprResolve;
7838
class WinImportHandler;
7842
class WinMemberExplSpec;
7843
class WinTypeKeywords;
7846
class ExtACBuilderCoupling;
7847
class ExtACSyntaxCoupling;
7849
class ExtACKeywords;
7851
class PragmaOnceUnitState;
7855
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7857
#line 7858 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7860
static WinIfExists *aspectof () {
7861
static WinIfExists __instance;
7864
static WinIfExists *aspectOf () {
7869
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7871
#line 7872 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7872
friend class ::CCExprResolve;
7873
friend class ::CExprResolve;
7874
friend class ::WinImportHandler;
7875
friend class ::WinMacros;
7876
friend class ::WinAsm;
7877
friend class ::WinDeclSpecs;
7878
friend class ::WinMemberExplSpec;
7879
friend class ::WinTypeKeywords;
7880
friend class ::WinFriend;
7881
friend class ::ExtAC;
7882
friend class ::ExtACBuilderCoupling;
7883
friend class ::ExtACSyntaxCoupling;
7884
friend class ::ExtACTree;
7885
friend class ::ExtACKeywords;
7886
friend class ::ExtGnu;
7887
friend class ::PragmaOnceUnitState;
7888
friend class ::PragmaOnce;
7889
friend class ::CMatchSyntax;
7891
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7893
/********************************************************/
7894
/* Win __if_exists and __if_not_exists */
7895
/********************************************************/
7897
// pointcut definitions
7899
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7902
// structural extensions
7904
#line 43 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7907
// preprocess __if_exists and __if_not_exists statements
7909
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7911
public: template<class JoinPoint> void __a0_around
7912
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7914
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7916
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7918
#line 7919 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7920
JoinPoint *&thisJoinPoint = tjp;
7922
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7924
#line 7925 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7926
typedef typename JoinPoint::That __JP_That;
7927
typedef typename JoinPoint::Target __JP_Target;
7928
typedef typename JoinPoint::Result __JP_Result;
7930
#line 46 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7935
#line 49 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7938
preparser = tjp->that ();
7939
tjp->proceed (); // get the next token
7940
token = *tjp->result ();
7942
type = token->type ();
7943
// __if_exists (...) { ... }
7944
if (type == Puma::TOK_IF_EXISTS) {
7945
preparser->skip_up_to (Puma::TOK_CLOSE_CURLY);
7946
*(Puma::Token**)thisJoinPoint->result () = preparser->next ();
7948
// __if_not_exists (...) { ... }
7949
} else if (type == Puma::TOK_IF_NOT_EXISTS) {
7950
preparser->skip_up_to (Puma::TOK_OPEN_CURLY);
7951
preparser->_depth.push (1);
7952
*(Puma::Token**)thisJoinPoint->result () = preparser->next ();
7955
// skip closing `}' of __if_not_exists
7956
if (preparser->_depth.length ()) {
7957
if (type == Puma::TOK_OPEN_CURLY)
7958
preparser->_depth.top () = preparser->_depth.top () + 1;
7959
else if (type == Puma::TOK_CLOSE_CURLY) {
7960
preparser->_depth.top () = preparser->_depth.top () - 1;
7961
if (preparser->_depth.top () == 0) {
7962
preparser->_depth.pop ();
7963
*(Puma::Token**)thisJoinPoint->result () = preparser->next ();
7970
#line 7971 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7974
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7980
#line 7981 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
7983
template <class JoinPoint>
7984
__attribute((always_inline)) inline void invoke_WinIfExists_WinIfExists_a0_around (JoinPoint *tjp) {
7985
::WinIfExists::aspectof()->__a0_around (tjp);
7989
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7994
#line 95 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
7997
// skip __if_exists resp. __if_not_exists statement
7999
#line 135 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
8003
#endif /* __WinIfExists__ */
8005
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8009
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8011
#line 8012 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8014
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
8015
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
8017
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8018
// This file is part of PUMA.
8019
// Copyright (C) 1999-2003 The PUMA developer team.
8021
// This program is free software; you can redistribute it and/or
8022
// modify it under the terms of the GNU General Public License as
8023
// published by the Free Software Foundation; either version 2 of
8024
// the License, or (at your option) any later version.
8026
// This program is distributed in the hope that it will be useful,
8027
// but WITHOUT ANY WARRANTY; without even the implied warranty of
8028
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8029
// GNU General Public License for more details.
8031
// You should have received a copy of the GNU General Public
8032
// License along with this program; if not, write to the Free
8033
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
8034
// MA 02111-1307 USA
8036
#ifndef __PragmaOnce__
8037
#define __PragmaOnce__
8039
/********************************************************/
8040
/* Win #pragma once support aspect */
8041
/********************************************************/
8044
#line 28 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8048
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8050
#line 8051 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8051
class CCExprResolve;
8054
class WinImportHandler;
8058
class WinMemberExplSpec;
8059
class WinTypeKeywords;
8062
class ExtACBuilderCoupling;
8063
class ExtACSyntaxCoupling;
8065
class ExtACKeywords;
8067
class PragmaOnceUnitState;
8070
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8072
#line 8073 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8075
static PragmaOnce *aspectof () {
8076
static PragmaOnce __instance;
8079
static PragmaOnce *aspectOf () {
8084
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8086
#line 8087 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8087
friend class ::CCExprResolve;
8088
friend class ::CExprResolve;
8089
friend class ::WinIfExists;
8090
friend class ::WinImportHandler;
8091
friend class ::WinMacros;
8092
friend class ::WinAsm;
8093
friend class ::WinDeclSpecs;
8094
friend class ::WinMemberExplSpec;
8095
friend class ::WinTypeKeywords;
8096
friend class ::WinFriend;
8097
friend class ::ExtAC;
8098
friend class ::ExtACBuilderCoupling;
8099
friend class ::ExtACSyntaxCoupling;
8100
friend class ::ExtACTree;
8101
friend class ::ExtACKeywords;
8102
friend class ::ExtGnu;
8103
friend class ::PragmaOnceUnitState;
8104
friend class ::CMatchSyntax;
8106
#line 34 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8108
/******************************************************/
8109
/* detect #pragma once in the token stream of cpp */
8110
/******************************************************/
8112
// pointcut definitions
8114
#line 40 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8117
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8120
// extend the preprocessor parser by the filter state
8122
#line 44 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8125
// initialize the filter state
8127
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8129
public: template<class JoinPoint> void __a0_after
8130
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8132
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8134
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8136
#line 8137 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8138
typedef typename JoinPoint::That __JP_That;
8139
typedef typename JoinPoint::Target __JP_Target;
8140
typedef typename JoinPoint::Result __JP_Result;
8142
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8144
// TODO: it would be better to have construction advice -> but in lem file
8145
tjp->that ()->_pragma_token = 0;
8147
#line 8148 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8151
#line 50 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8154
// filter #pragma once
8156
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8158
public: template<class JoinPoint> void __a1_after
8159
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8161
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8163
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8165
#line 8166 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8167
typedef typename JoinPoint::That __JP_That;
8168
typedef typename JoinPoint::Target __JP_Target;
8169
typedef typename JoinPoint::Result __JP_Result;
8171
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8173
Puma::Token *tok = *tjp->result ();
8175
#line 55 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8176
&that = *tjp->that ();
8177
if (!tok || !tok->is_directive ()) {
8178
that._pragma_token = 0;
8181
if (strcmp ("#pragma", tok->text ()) == 0) {
8182
that._pragma_token = tok;
8184
else if (that._pragma_token && strcmp ("once", tok->text ()) == 0) {
8185
Puma::Unit *unit = (Puma::Unit*)tok->belonging_to ();
8187
unit->state ().onlyOnce (true);
8190
#line 8191 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8194
#line 68 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8197
/********************************************************/
8198
/* block the handling of pragma once files */
8199
/********************************************************/
8201
// don't let file includer include files twice
8202
// to be precise: the file is included again, but the inclusion produces
8205
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8207
public: template<class JoinPoint> void __a2_around
8208
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8210
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8211
(JoinPoint *tjp, Puma::Unit *unit)
8212
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8214
#line 8215 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8216
typedef typename JoinPoint::That __JP_That;
8217
typedef typename JoinPoint::Target __JP_Target;
8218
typedef typename JoinPoint::Result __JP_Result;
8220
#line 79 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8222
if (! unit || ! unit->state ().onlyOnce ())
8225
#line 8226 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8229
#line 82 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8232
// includeFile shall return 0 if the file was not included
8234
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8236
public: template<class JoinPoint> void __a3_after
8237
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8239
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8241
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8243
#line 8244 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8245
typedef typename JoinPoint::That __JP_That;
8246
typedef typename JoinPoint::Target __JP_Target;
8247
typedef typename JoinPoint::Result __JP_Result;
8249
#line 86 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8251
Puma::Unit *&unit = *tjp->result ();
8252
if (unit && unit->state ().onlyOnce ())
8254
tjp->that ()->_guarded = true;
8256
#line 8257 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8260
#line 91 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8264
// this aspect should never be instantiated directly
8267
#line 8268 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8270
template <class JoinPoint>
8271
__attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a0_after (JoinPoint *tjp) {
8272
::PragmaOnce::aspectof()->__a0_after (tjp);
8274
template <class JoinPoint>
8275
__attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a1_after (JoinPoint *tjp) {
8276
::PragmaOnce::aspectof()->__a1_after (tjp);
8278
template <class JoinPoint>
8279
__attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a2_around (JoinPoint *tjp) {
8280
typedef typename JoinPoint::Binding_PragmaOnce_PragmaOnce_a2_around::template Arg<0> Arg0;
8281
::PragmaOnce::aspectof()->__a2_around (tjp, (Puma::Unit *)Arg0::val (tjp));
8283
template <class JoinPoint>
8284
__attribute((always_inline)) inline void invoke_PragmaOnce_PragmaOnce_a3_after (JoinPoint *tjp) {
8285
::PragmaOnce::aspectof()->__a3_after (tjp);
8289
#line 96 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/PragmaOnce.ah"
8293
#endif /* __PragmaOnce__ */
8295
#line 8 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8299
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8404
8300
class PreprocessorParser : public PumaTokenSource {
8405
#line 8406 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
8301
#line 8302 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
8302
friend class ::CCExprResolve;
8303
friend class ::CExprResolve;
8406
8304
friend class ::WinIfExists;
8407
8305
friend class ::WinImportHandler;
8408
8306
friend class ::WinMacros;
8409
friend class ::CMatchSyntax;
8410
friend class ::ExtGnu;
8307
friend class ::WinAsm;
8308
friend class ::WinDeclSpecs;
8309
friend class ::WinMemberExplSpec;
8310
friend class ::WinTypeKeywords;
8311
friend class ::WinFriend;
8411
8312
friend class ::ExtAC;
8412
8313
friend class ::ExtACBuilderCoupling;
8413
8314
friend class ::ExtACSyntaxCoupling;
8414
8315
friend class ::ExtACTree;
8415
8316
friend class ::ExtACKeywords;
8416
friend class ::WinAsm;
8417
friend class ::WinDeclSpecs;
8418
friend class ::WinMemberExplSpec;
8419
friend class ::WinTypeKeywords;
8317
friend class ::ExtGnu;
8420
8318
friend class ::PragmaOnceUnitState;
8421
8319
friend class ::PragmaOnce;
8422
friend class ::CCExprResolve;
8423
friend class ::CExprResolve;
8320
friend class ::CMatchSyntax;
8425
#line 48 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8322
#line 48 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/inc/Puma/PreprocessorParser.h"
8428
8325
// The current mode for token preprocessing
14211
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
14213
#line 14214 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14215
struct TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0 {
14216
typedef ::Puma::Token * Result;
14217
typedef ::Puma::PreprocessorParser That;
14218
typedef ::Puma::PreprocessorParser Target;
14219
static const int JPID = 138;
14220
static const AC::JPType JPTYPE = (AC::JPType)4;
14222
typedef ::Puma::Token * Type;
14223
typedef ::Puma::Token * ReferredType;
14226
template <int I, int DUMMY = 0> struct Arg {
14228
typedef void ReferredType;
14234
inline Result *result() {return (Result*)_result;}
14235
inline That *that() {return (That*)_that;}
14240
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14242
#line 14243 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14244
struct TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0 {
14245
typedef ::Puma::Token * Result;
14246
typedef ::Puma::PreprocessorParser That;
14247
typedef ::Puma::PreprocessorParser Target;
14248
static const int JPID = 139;
14249
static const AC::JPType JPTYPE = (AC::JPType)4;
14251
typedef ::Puma::Token * Type;
14252
typedef ::Puma::Token * ReferredType;
14255
template <int I, int DUMMY = 0> struct Arg {
14257
typedef void ReferredType;
14263
inline Result *result() {return (Result*)_result;}
14264
inline That *that() {return (That*)_that;}
14269
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14271
#line 2972 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14272
Puma::PreprocessorParser
14273
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinIfExists.ah"
14274
::skip_up_to (int end_token) {
14275
#line 14276 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14278
struct __call__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0 {
14279
static inline ::Puma::Token * invoke (::Puma::PreprocessorParser *srcthis, ::Puma::PreprocessorParser *dstthis){
14280
AC::ResultBuffer< ::Puma::Token * > result;
14281
TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0 tjp;
14282
tjp._result = &(TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0::Result&)result;
14283
tjp._that = (TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0::That*)srcthis;
14284
::new (&result) ::Puma::Token * (dstthis->parseToken());
14285
AC::invoke_PragmaOnce_PragmaOnce_a1_after<TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0> (&tjp);
14286
return (::Puma::Token * &)result;
14290
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14292
#line 14293 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14295
struct __call__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0 {
14296
static inline ::Puma::Token * invoke (::Puma::PreprocessorParser *srcthis, ::Puma::PreprocessorParser *dstthis){
14297
AC::ResultBuffer< ::Puma::Token * > result;
14298
TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0 tjp;
14299
tjp._result = &(TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0::Result&)result;
14300
tjp._that = (TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0::That*)srcthis;
14301
::new (&result) ::Puma::Token * (dstthis->parseToken());
14302
AC::invoke_PragmaOnce_PragmaOnce_a1_after<TJP__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0> (&tjp);
14303
return (::Puma::Token * &)result;
14307
#line 100 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14309
unsigned parenthesis = 0, curlies = 0;
14313
// skip up to the first non-nested `{'
14314
while ((token = __call__ZN4Puma18PreprocessorParser10skip_up_toEi_0_0::invoke ((::Puma::PreprocessorParser*)this,(::Puma::PreprocessorParser*)this ))) {
14315
type = token->type ();
14316
if (type == TOK_OPEN_CURLY) {
14317
if (parenthesis == 0 && curlies == 0)
14320
} else if (type == TOK_CLOSE_CURLY)
14322
else if (type == TOK_OPEN_ROUND)
14324
else if (type == TOK_CLOSE_ROUND)
14328
// skip up to the first non-nested `}'
14329
if (end_token == TOK_CLOSE_CURLY) {
14330
parenthesis = curlies = 0;
14331
while ((token = __call__ZN4Puma18PreprocessorParser10skip_up_toEi_2_0::invoke ((::Puma::PreprocessorParser*)this,(::Puma::PreprocessorParser*)this ))) {
14332
type = token->type ();
14333
if (type == TOK_OPEN_CURLY)
14335
else if (type == TOK_CLOSE_CURLY) {
14336
if (parenthesis == 0 && curlies == 0)
14339
} else if (type == TOK_OPEN_ROUND)
14341
else if (type == TOK_CLOSE_ROUND)
14131
#line 14132 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14133
#ifndef __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
14134
#define __ac_guard__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
14135
#include "WinIfExists.ah"
14138
#line 2972 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
14140
#line 98 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinIfExists.ah"
14141
void Puma::PreprocessorParser :: skip_up_to ( int end_token ) {
14142
unsigned parenthesis = 0 , curlies = 0 ;
14143
Puma :: Token * token ;
14147
while ( ( token = parseToken ( ) ) ) {
14148
type = token -> type ( ) ;
14149
if ( type == Puma :: TOK_OPEN_CURLY ) {
14150
if ( parenthesis == 0 && curlies == 0 )
14153
} else if ( type == Puma :: TOK_CLOSE_CURLY )
14155
else if ( type == Puma :: TOK_OPEN_ROUND )
14157
else if ( type == Puma :: TOK_CLOSE_ROUND )
14162
if ( end_token == Puma :: TOK_CLOSE_CURLY ) {
14163
parenthesis = curlies = 0 ;
14164
while ( ( token = parseToken ( ) ) ) {
14165
type = token -> type ( ) ;
14166
if ( type == Puma :: TOK_OPEN_CURLY )
14168
else if ( type == Puma :: TOK_CLOSE_CURLY ) {
14169
if ( parenthesis == 0 && curlies == 0 )
14172
} else if ( type == Puma :: TOK_OPEN_ROUND )
14174
else if ( type == Puma :: TOK_CLOSE_ROUND )
14179
#line 14180 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14181
#ifdef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreParser_cc__
14182
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
14183
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
14184
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
14185
#include "CCExprResolveCC.ah"
14187
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14188
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14189
#include "ExtACTree.ah"
14191
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
14192
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
14193
#include "ExtGnu.ah"
14196
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
14197
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
14198
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
14199
#include "CCExprResolveH.ah"
14202
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
14203
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
14204
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
14205
#include "CExprResolveCC.ah"
14207
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14208
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14209
#include "ExtACTree.ah"
14211
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
14212
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
14213
#include "ExtGnu.ah"
14216
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
14217
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
14218
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CExprResolveH_ah__
14219
#include "CExprResolveH.ah"
14222
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
14223
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
14224
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinIfExists_ah__
14226
#line 47 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
14229
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
14230
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
14231
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinImportHandler_ah__
14233
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14234
// This file is part of PUMA.
14235
// Copyright (C) 1999-2003 The PUMA developer team.
14237
// This program is free software; you can redistribute it and/or
14238
// modify it under the terms of the GNU General Public License as
14239
// published by the Free Software Foundation; either version 2 of
14240
// the License, or (at your option) any later version.
14242
// This program is distributed in the hope that it will be useful,
14243
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14244
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14245
// GNU General Public License for more details.
14247
// You should have received a copy of the GNU General Public
14248
// License along with this program; if not, write to the Free
14249
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
14250
// MA 02111-1307 USA
14252
#ifndef __WinImportHandler__
14253
#define __WinImportHandler__
14255
/********************************************************/
14256
/* Win #import directive support */
14257
/********************************************************/
14260
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14262
#line 14263 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14263
class CCExprResolve;
14264
class CExprResolve;
14268
class WinDeclSpecs;
14269
class WinMemberExplSpec;
14270
class WinTypeKeywords;
14273
class ExtACBuilderCoupling;
14274
class ExtACSyntaxCoupling;
14276
class ExtACKeywords;
14278
class PragmaOnceUnitState;
14280
class CMatchSyntax;
14282
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14283
class WinImportHandler {
14284
#line 14285 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14287
static WinImportHandler *aspectof () {
14288
static WinImportHandler __instance;
14289
return &__instance;
14291
static WinImportHandler *aspectOf () {
14292
return aspectof ();
14296
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14298
#line 14299 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14299
friend class ::CCExprResolve;
14300
friend class ::CExprResolve;
14301
friend class ::WinIfExists;
14302
friend class ::WinMacros;
14303
friend class ::WinAsm;
14304
friend class ::WinDeclSpecs;
14305
friend class ::WinMemberExplSpec;
14306
friend class ::WinTypeKeywords;
14307
friend class ::WinFriend;
14308
friend class ::ExtAC;
14309
friend class ::ExtACBuilderCoupling;
14310
friend class ::ExtACSyntaxCoupling;
14311
friend class ::ExtACTree;
14312
friend class ::ExtACKeywords;
14313
friend class ::ExtGnu;
14314
friend class ::PragmaOnceUnitState;
14315
friend class ::PragmaOnce;
14316
friend class ::CMatchSyntax;
14318
#line 30 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14320
/********************************************************/
14321
/* Win #import directive */
14322
/********************************************************/
14326
#line 36 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14329
// handle --import-handler option
14331
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14333
public: template<class JoinPoint> void __a0_before
14334
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14336
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14337
(JoinPoint *tjp, const Puma::Config &config, bool process_includes)
14338
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14340
#line 14341 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14342
JoinPoint *&thisJoinPoint = tjp;
14344
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14346
#line 14347 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14348
typedef typename JoinPoint::That __JP_That;
14349
typedef typename JoinPoint::Target __JP_Target;
14350
typedef typename JoinPoint::Result __JP_Result;
14352
#line 41 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14354
const Puma::ConfOption *opt;
14357
if (process_includes) {
14358
opt = config.Option ("--import-handler");
14359
if (opt && opt->Arguments ()) {
14360
// delete old import handler
14361
if (thisJoinPoint->that ()->_importHandler)
14362
delete[] thisJoinPoint->that ()->_importHandler;
14364
// get new import handler
14365
tmp = new char[strlen (opt->Argument (0))+1];
14366
strcpy (tmp, opt->Argument (0));
14367
thisJoinPoint->that ()->_importHandler = tmp;
14346
#line 2972 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14348
#line 14349 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14350
#ifdef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreParser_cc__
14351
/*** begin of aspect includes ***/
14352
#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__)
14353
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinIfExists_ah__
14355
#line 7 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14357
#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__)
14358
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinImportHandler_ah__
14360
#line 11 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14362
#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__)
14363
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMacros_ah__
14365
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
14371
#line 14372 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14375
#line 58 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14379
WinImportHandler () {}
14381
#line 14382 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14384
template <class JoinPoint>
14385
__attribute((always_inline)) inline void invoke_WinImportHandler_WinImportHandler_a0_before (JoinPoint *tjp) {
14386
typedef typename JoinPoint::Binding_WinImportHandler_WinImportHandler_a0_before::template Arg<0> Arg0;
14387
typedef typename JoinPoint::Binding_WinImportHandler_WinImportHandler_a0_before::template Arg<1> Arg1;
14388
::WinImportHandler::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp), (bool)Arg1::val (tjp));
14392
#line 62 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinImportHandler.ah"
14396
#endif /* __WinImportHandler__ */
14398
#line 53 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
14401
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
14402
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
14403
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMacros_ah__
14405
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14366
14406
// This file is part of PUMA.
14367
14407
// Copyright (C) 1999-2003 The PUMA developer team.
14490
14529
thisJoinPoint->that ()->defMacro ("__noop", " ");
14492
14531
// function-like macros
14493
PreMacro::MacroArgs *args = new PreMacro::MacroArgs (1);
14532
Puma::PreMacro::MacroArgs *args = new Puma::PreMacro::MacroArgs (1);
14494
14533
args->append ("__arg0");
14495
14534
thisJoinPoint->that ()->macroManager ()->addMacro (
14496
new PreMacro ("__declspec", args, " "));
14535
new Puma::PreMacro ("__declspec", args, " "));
14499
#line 14500 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14538
#line 14539 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14503
#line 56 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
14542
#line 54 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14507
14546
WinMacros () {}
14509
#line 14510 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
14548
#line 14549 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
14511
14550
namespace AC {
14512
template <class JoinPoint, class Binding>
14513
inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp) {
14514
typedef typename Binding::template Arg<0> Arg0;
14551
template <class JoinPoint>
14552
__attribute((always_inline)) inline void invoke_WinMacros_WinMacros_a0_before (JoinPoint *tjp) {
14553
typedef typename JoinPoint::Binding_WinMacros_WinMacros_a0_before::template Arg<0> Arg0;
14515
14554
::WinMacros::aspectof()->__a0_before (tjp, (const Puma::Config &)Arg0::val (tjp));
14519
#line 60 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/WinMacros.ah"
14558
#line 58 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/WinMacros.ah"
14523
14562
#endif /* __WinMacros__ */
14525
#line 15 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
14527
#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__)
14528
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
14529
#include "CMatchSyntax.ah"
14531
#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__)
14532
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtGnu_ah__
14533
#include "ExtGnu.ah"
14535
#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__)
14536
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtAC_ah__
14564
#line 59 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
14566
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
14567
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
14569
#line 63 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
14572
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
14573
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
14574
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinAsm_ah__
14575
#include "WinAsm.ah"
14577
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14578
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14579
#include "ExtACTree.ah"
14582
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
14583
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
14584
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
14585
#include "WinDeclSpecs.ah"
14588
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
14589
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
14590
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
14591
#include "WinMemberExplSpec.ah"
14594
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
14595
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
14596
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
14597
#include "WinTypeKeywords.ah"
14600
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
14601
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
14602
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_WinFriend_ah__
14603
#include "WinFriend.ah"
14606
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
14607
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
14608
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtAC_ah__
14537
14609
#include "ExtAC.ah"
14539
#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__)
14540
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
14611
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14612
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14613
#include "ExtACTree.ah"
14615
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14616
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14617
#include "ExtACKeywords.ah"
14619
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
14620
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
14621
#include "ExtGnu.ah"
14623
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
14624
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
14625
#include "PragmaOnceUnitState.ah"
14627
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
14628
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
14629
#include "CMatchSyntax.ah"
14632
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
14633
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
14634
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderH_ah__
14541
14635
#include "ExtACBuilderH.ah"
14543
#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__)
14544
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
14638
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
14639
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
14640
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACBuilderCC_ah__
14545
14641
#include "ExtACBuilderCC.ah"
14547
#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__)
14548
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
14643
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14644
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14645
#include "ExtACTree.ah"
14648
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
14649
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
14650
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxH_ah__
14549
14651
#include "ExtACSyntaxH.ah"
14551
#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__)
14552
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
14654
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
14655
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
14656
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACSyntaxCC_ah__
14553
14657
#include "ExtACSyntaxCC.ah"
14555
#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__)
14556
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACTree_ah__
14660
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14661
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14662
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
14557
14663
#include "ExtACTree.ah"
14559
#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__)
14560
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14666
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14667
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14668
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACKeywords_ah__
14562
#line 1 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
14670
#line 1 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
14563
14671
// This file is part of PUMA.
14564
14672
// Copyright (C) 1999-2003 The PUMA developer team.
15891
#line 3 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
16188
#line 3 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15893
16190
public: template<class JoinPoint> void __a2_before
15894
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
16191
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15896
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
16193
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15897
16194
(JoinPoint *tjp)
15898
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
16195
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15900
#line 15901 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
16197
#line 16198 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15902
16199
typedef typename JoinPoint::That __JP_That;
15903
16200
typedef typename JoinPoint::Target __JP_Target;
15904
16201
typedef typename JoinPoint::Result __JP_Result;
15906
#line 68 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
16203
#line 69 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15908
16205
_project = tjp->that ();
15911
#line 15912 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step2/src/PreParser.cc"
16208
#line 16209 "/var/tmp/aspectc++/debian/Puma/gen-release/step2/src/PreParser.cc"
15913
16210
namespace AC {
15914
template <class JoinPoint, class Binding>
15915
inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
15916
typedef typename Binding::template Arg<0> Arg0;
16211
template <class JoinPoint>
16212
__attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a0_before (JoinPoint *tjp) {
16213
typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a0_before::template Arg<0> Arg0;
15917
16214
::ExtACKeywords::aspectof()->__a0_before ((Puma::CProject &)Arg0::val (tjp));
15919
template <class JoinPoint, class Binding>
15920
inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
15921
typedef typename Binding::template Arg<0> Arg0;
16216
template <class JoinPoint>
16217
__attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a1_before (JoinPoint *tjp) {
16218
typedef typename JoinPoint::Binding_ExtACKeywords_ExtACKeywords_a1_before::template Arg<0> Arg0;
15922
16219
::ExtACKeywords::aspectof()->__a1_before (tjp, (Puma::Unit &)Arg0::val (tjp));
15924
16221
template <class JoinPoint>
15925
inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
16222
__attribute((always_inline)) inline void invoke_ExtACKeywords_ExtACKeywords_a2_before (JoinPoint *tjp) {
15926
16223
::ExtACKeywords::aspectof()->__a2_before (tjp);
15930
#line 71 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
16227
#line 72 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/aspects/ExtACKeywords.ah"
15933
16230
#endif /* __ext_ac_keywords_ah__ */
15935
#line 51 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
15937
#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__)
15938
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_TraceSyntax_ah__
16232
#line 163 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
16234
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
16235
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
16236
#include "PragmaOnceUnitState.ah"
16239
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
16240
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
16241
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
16242
#include "ExtACTree.ah"
16244
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
16245
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnu_ah__
16246
#include "ExtGnu.ah"
16249
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
16250
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
16251
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtACTree_ah__
16252
#include "ExtACTree.ah"
16254
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
16255
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_ExtGnuCSemDeclSpecs_ah__
16256
#include "ExtGnuCSemDeclSpecs.ah"
16259
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
16260
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
16261
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
16262
#include "PragmaOnceUnitState.ah"
16265
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
16266
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
16267
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
16268
#include "PragmaOnceUnitState.ah"
16270
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
16271
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_PragmaOnce_ah__
16273
#line 203 "/var/tmp/aspectc++/debian/Puma/gen-release/step1/src/PreParser.cc"
16276
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
16277
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
16278
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_TraceSyntax_ah__
15939
16279
#include "TraceSyntax.ah"
15941
#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__)
15942
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinAsm_ah__
15943
#include "WinAsm.ah"
15945
#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__)
15946
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
15947
#include "WinDeclSpecs.ah"
15949
#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__)
15950
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
15951
#include "WinMemberExplSpec.ah"
15953
#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__)
15954
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
15955
#include "WinTypeKeywords.ah"
15957
#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__)
15958
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
15960
#line 75 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
15962
#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__)
15963
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_PragmaOnce_ah__
15965
#line 79 "/local/scratch/packages/aspectc++/ac-woven-1.0pre3/Puma/gen-release/step1/src/PreParser.cc"
15967
#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__)
15968
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveH_ah__
15969
#include "CCExprResolveH.ah"
15971
#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__)
15972
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CCExprResolveCC_ah__
15973
#include "CCExprResolveCC.ah"
15975
#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__)
15976
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveH_ah__
15977
#include "CExprResolveH.ah"
15979
#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__)
15980
#define __ac_have__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_aspects_CExprResolveCC_ah__
15981
#include "CExprResolveCC.ah"
15983
/*** end of aspect includes ***/
15984
#undef __ac_FIRST__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1__
15985
#undef __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreParser_cc__
15986
#endif // __ac_FIRST_FILE__local_scratch_packages_aspectc4343_ac45woven451_0pre3_Puma_gen45release_step1_src_PreParser_cc__
16282
#ifdef __ac_need__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
16283
#ifndef __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
16284
#define __ac_have__var_tmp_aspectc4343_debian_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
16285
#include "CMatchSyntax.ah"
16288
#undef __ac_FIRST__var_tmp_aspectc4343_debian_Puma_gen45release_step1__
16289
#undef __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreParser_cc__
16290
#endif // __ac_FIRST_FILE__var_tmp_aspectc4343_debian_Puma_gen45release_step1_src_PreParser_cc__