Mercurial > projects > ldc
annotate ir/irtype.h @ 309:d59c363fccad trunk
[svn r330] Implemented synchronized statements.
Changed the tryfinally handlers to a more generalized EnclosingHandler.
Changed ClassInfoS to be mutable so they can be used as locks.
Added new BB after throw ala return/break etc.
author | lindquist |
---|---|
date | Sat, 28 Jun 2008 11:37:53 +0200 |
parents | 8ee2c46ff938 |
children | eef8ac26c66c |
rev | line source |
---|---|
158
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
1 #ifndef LLVMDC_IR_IRTYPE_H |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
2 #define LLVMDC_IR_IRTYPE_H |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
3 |
173
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
4 #include <set> |
158
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
5 |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
6 namespace llvm { |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
7 class PATypeHolder; |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
8 } |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
9 |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
10 struct IrType |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
11 { |
173
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
12 static std::set<IrType*> list; |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
13 static void resetAll(); |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
14 |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
15 // overload all of these to make sure |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
16 // the static list is up to date |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
17 IrType(); |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
18 IrType(const IrType& s); |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
19 ~IrType(); |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
20 |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
21 void reset(); |
db9890b3fb64
[svn r189] moving IR data back into DMD frontend nodes
ChristianK
parents:
158
diff
changeset
|
22 |
158
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
23 llvm::PATypeHolder* type; |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
24 llvm::PATypeHolder* vtblType; |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
25 }; |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
26 |
287540c5f05e
[svn r174] added file missing from previous commit [173]
ChristianK
parents:
diff
changeset
|
27 #endif |