annotate ir/irtype.h @ 650:aa6a0b7968f7

Added test case for bug #100 Removed dubious check for not emitting static private global in other modules without access. This should be handled properly somewhere else, it's causing unresolved global errors for stuff that should work (in MiniD)
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sun, 05 Oct 2008 17:28:15 +0200
parents 8ee2c46ff938
children eef8ac26c66c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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