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

« back to all changes in this revision

Viewing changes to Puma/gen-release/step2/aspects/CCExprResolve.ah

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

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
2
 
#define __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
3
 
#define __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__
4
 
 
5
 
#ifndef __ac_h_
6
 
#define __ac_h_
7
 
namespace AC {
8
 
  typedef const char* Type;
9
 
  enum JPType { CALL = 0x0004, EXECUTION = 0x0008, CONSTRUCTION = 0x0010, DESTRUCTION = 0x0020 };
10
 
  struct Action {
11
 
    void **_args; void *_result; void *_target; void *_that; void *_fptr;
12
 
    void (*_wrapper)(Action &);
13
 
    inline void trigger () { _wrapper (*this); }
14
 
  };
15
 
  struct AnyResultBuffer {};
16
 
  template <typename T> struct ResultBuffer : public AnyResultBuffer {
17
 
    char _data[sizeof (T)];
18
 
    ~ResultBuffer () { ((T*)_data)->T::~T(); }
19
 
    operator T& () const { return *(T*)_data; }
20
 
  };
21
 
  template <class Aspect, int Index>
22
 
  struct CFlow {
23
 
    static int &instance () {
24
 
      static int counter = 0;
25
 
      return counter;
26
 
    }
27
 
    CFlow () { instance ()++; }
28
 
    ~CFlow () { instance ()--; }
29
 
    static bool active () { return instance () > 0; }
30
 
  };
31
 
}
32
 
inline void * operator new (__SIZE_TYPE__, AC::AnyResultBuffer *p) { return p; }
33
 
inline void operator delete (void *, AC::AnyResultBuffer *) { } // for VC++
34
 
#endif // __ac_h_
35
 
#endif // __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
36
 
 
37
 
#line 1 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
38
 
// This file is part of PUMA.
39
 
// Copyright (C) 1999-2003  The PUMA developer team.
40
 
//                                                                
41
 
// This program is free software;  you can redistribute it and/or 
42
 
// modify it under the terms of the GNU General Public License as 
43
 
// published by the Free Software Foundation; either version 2 of 
44
 
// the License, or (at your option) any later version.            
45
 
//                                                                
46
 
// This program is distributed in the hope that it will be useful,
47
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
48
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
49
 
// GNU General Public License for more details.                   
50
 
//                                                                
51
 
// You should have received a copy of the GNU General Public      
52
 
// License along with this program; if not, write to the Free     
53
 
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
54
 
// MA  02111-1307  USA                                            
55
 
 
56
 
#ifndef __CCExprResolve_ah__
57
 
#define __CCExprResolve_ah__
58
 
 
59
 
// this should be included as soon as ac++ can better deal with include cycles
60
 
// #include "Puma/CCSemExpr.h"
61
 
 
62
 
// This aspect inserts resolve member functions into all syntax tree classes
63
 
// that represent expressions. As the function is virtual, an efficient
64
 
// run-time switch over the node type is implemented.
65
 
 
66
 
namespace Puma {
67
 
  class CCSemExpr;
68
 
}
69
 
 
70
 
using namespace Puma;
71
 
 
72
 
 
73
 
#line 74 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/CCExprResolve.ah"
74
 
class WinIfExists;
75
 
class WinImportHandler;
76
 
class WinMacros;
77
 
class CMatchSyntax;
78
 
class ExtGnu;
79
 
class ExtAC;
80
 
class ExtACTree;
81
 
class WinAsm;
82
 
class WinDeclSpecs;
83
 
class WinMemberExplSpec;
84
 
class WinTypeKeywords;
85
 
class PragmaOnceUnitState;
86
 
class PragmaOnce;
87
 
class CExprResolve;
88
 
 
89
 
#line 35 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
90
 
class CCExprResolve {
91
 
#line 92 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/CCExprResolve.ah"
92
 
 
93
 
public:
94
 
  static CCExprResolve *aspectof () {
95
 
    static CCExprResolve __instance;
96
 
    return &__instance;
97
 
  }
98
 
  static CCExprResolve *aspectOf () {
99
 
    return aspectof ();
100
 
  }
101
 
private:
102
 
 
103
 
#line 35 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
104
 
 
105
 
#line 106 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/CCExprResolve.ah"
106
 
  friend class ::WinIfExists;
107
 
  friend class ::WinImportHandler;
108
 
  friend class ::WinMacros;
109
 
  friend class ::CMatchSyntax;
110
 
  friend class ::ExtGnu;
111
 
  friend class ::ExtAC;
112
 
  friend class ::ExtACTree;
113
 
  friend class ::WinAsm;
114
 
  friend class ::WinDeclSpecs;
115
 
  friend class ::WinMemberExplSpec;
116
 
  friend class ::WinTypeKeywords;
117
 
  friend class ::PragmaOnceUnitState;
118
 
  friend class ::PragmaOnce;
119
 
  friend class ::CExprResolve;
120
 
 
121
 
#line 35 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
122
 
 
123
 
 
124
 
public:
125
 
  
126
 
#line 39 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
127
 
 
128
 
 
129
 
  
130
 
#line 43 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
131
 
 
132
 
};
133
 
#line 134 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/CCExprResolve.ah"
134
 
 
135
 
namespace AC {
136
 
137
 
 
138
 
#line 44 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
139
 
 
140
 
 
141
 
 
142
 
#line 49 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
143
 
 
144
 
    
145
 
// the necessary #include "Puma/CCSemExpr.h" will be inserted manually (for now)    
146
 
 
147
 
#line 57 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step1/aspects/CCExprResolve.ah"
148
 
 
149
 
 
150
 
#endif /* __CCExprResolve_ah__ */
151
 
 
152
 
#line 153 "/home/inf4/spinczyk/ac-woven-1.0pre2/Puma/gen-release/step2/aspects/CCExprResolve.ah"
153
 
 
154
 
#ifdef __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__
155
 
/*** begin of aspect includes ***/
156
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__)
157
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinIfExists_ah__
158
 
#include "WinIfExists.ah"
159
 
#endif
160
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__)
161
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinImportHandler_ah__
162
 
#include "WinImportHandler.ah"
163
 
#endif
164
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__)
165
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMacros_ah__
166
 
#include "WinMacros.ah"
167
 
#endif
168
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__)
169
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CMatchSyntax_ah__
170
 
#include "CMatchSyntax.ah"
171
 
#endif
172
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__)
173
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtGnu_ah__
174
 
#include "ExtGnu.ah"
175
 
#endif
176
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__)
177
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtAC_ah__
178
 
#include "ExtAC.ah"
179
 
#endif
180
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__)
181
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_ExtACTree_ah__
182
 
#include "ExtACTree.ah"
183
 
#endif
184
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__)
185
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_TraceSyntax_ah__
186
 
#include "TraceSyntax.ah"
187
 
#endif
188
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__)
189
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinAsm_ah__
190
 
#include "WinAsm.ah"
191
 
#endif
192
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__)
193
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinDeclSpecs_ah__
194
 
#include "WinDeclSpecs.ah"
195
 
#endif
196
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__)
197
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinMemberExplSpec_ah__
198
 
#include "WinMemberExplSpec.ah"
199
 
#endif
200
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__)
201
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_WinTypeKeywords_ah__
202
 
#include "WinTypeKeywords.ah"
203
 
#endif
204
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__)
205
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnceUnitState_ah__
206
 
#include "PragmaOnceUnitState.ah"
207
 
#endif
208
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__)
209
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_PragmaOnce_ah__
210
 
#include "PragmaOnce.ah"
211
 
#endif
212
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__)
213
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__
214
 
#include "CCExprResolve.ah"
215
 
#endif
216
 
#if !defined(__ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__) && defined(__ac_need__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__)
217
 
#define __ac_have__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CExprResolve_ah__
218
 
#include "CExprResolve.ah"
219
 
#endif
220
 
/*** end of aspect includes ***/
221
 
#undef __ac_FIRST__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1__
222
 
#undef __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__
223
 
#endif // __ac_FIRST_FILE__home_inf4_spinczyk_ac45woven451_0pre2_Puma_gen45release_step1_aspects_CCExprResolve_ah__