comparison gen/irstate.h @ 6:35d93ce68cf4 trunk

[svn r10] Updated for LLVM rev. 20070913 Applied fixes from wilsonk on the forum Some tweaks to work with gc 7.0 Fixed aggregate members of aggregates Fixed cyclic/recursive class declarations Other minor tweaks
author lindquist
date Wed, 26 Sep 2007 19:05:18 +0200
parents c53b6e3fe49a
children 37a4fdab33fc
comparison
equal deleted inserted replaced
5:3d60e549b0c2 6:35d93ce68cf4
34 34
35 IRScope(); 35 IRScope();
36 IRScope(llvm::BasicBlock* b, llvm::BasicBlock* e); 36 IRScope(llvm::BasicBlock* b, llvm::BasicBlock* e);
37 }; 37 };
38 38
39 // represents a struct 39 // represents a struct or class
40 struct IRStruct : Object 40 struct IRStruct : Object
41 { 41 {
42 typedef std::vector<const llvm::Type*> TypeVector; 42 typedef std::vector<const llvm::Type*> TypeVector;
43 typedef std::vector<llvm::Constant*> ConstantVector; 43 typedef std::vector<llvm::Constant*> ConstantVector;
44 typedef std::vector<llvm::PATypeHolder> PATypeHolderVector; 44 typedef std::vector<llvm::PATypeHolder> PATypeHolderVector;
45 45
46 public: 46 public:
47 IRStruct(); 47 IRStruct();
48 IRStruct(TypeStruct*); 48 IRStruct(Type*);
49 virtual ~IRStruct(); 49 virtual ~IRStruct();
50 50
51 TypeStruct* type; 51 Type* type;
52 TypeVector fields; 52 TypeVector fields;
53 ConstantVector inits; 53 ConstantVector inits;
54 llvm::PATypeHolder recty; 54 llvm::PATypeHolder recty;
55 };
56
57 // represents a clas
58 struct IRClass : Object
59 {
60 // TODO
61 }; 55 };
62 56
63 // represents the module 57 // represents the module
64 struct IRState : Object 58 struct IRState : Object
65 { 59 {