annotate ir/irtype.h @ 275:665b81613475 trunk

[svn r296] Removed: the 'suite' dir, it never took off! Fixed: foreach statement, key-type checks were buggy. Fixed: setting LLVMDC versions on the command line is now an error. Fixed: array compare runtime had incorrect param attrs on call. Fixed: index expressions on dynamic array slices w/o storage was broken. Fixed: scope classes had incorrect finalization in some cases. Fixed: when outputting !ClassInfoS !OffsetTypeInfoS, static class members were trying to be included, crashing the compiler. Fixed: calling LLVMDC with -inline but not any -O option caused assertion failure. Changed: the runtime now uses a single interface to "get" to !TypeInfoS, part of eliminating duplicate !TypeInfo codegen.
author lindquist
date Thu, 19 Jun 2008 17:30:32 +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