[svn r35] * Attributes on struct fields/methods now work

* Updated object.d to 1.021
* Added -novalidate command line option. this is sometimes useful when debugging as it may let you read the .ll even if it's invalid.
This commit is contained in:
Tomas Lindquist Olsen
2007-10-04 16:44:07 +02:00
parent c188a544de
commit 56d2cff2a2
8 changed files with 80 additions and 46 deletions

View File

@@ -41,7 +41,7 @@ struct IRStruct : Object
{
typedef std::vector<const llvm::Type*> TypeVector;
typedef std::vector<llvm::Constant*> ConstantVector;
typedef std::vector<llvm::PATypeHolder> PATypeHolderVector;
typedef std::vector<FuncDeclaration*> FuncDeclVec;
public:
IRStruct();
@@ -52,6 +52,8 @@ public:
TypeVector fields;
ConstantVector inits;
llvm::PATypeHolder recty;
FuncDeclVec funcs;
bool queueFuncs;
};
// represents the module
@@ -79,13 +81,6 @@ struct IRState : Object
typedef std::vector<ClassDeclaration*> ClassDeclVec;
ClassDeclVec classes;
typedef std::vector<FuncDeclaration*> FuncDeclVec;
typedef std::vector<FuncDeclVec> ClassMethodVec;
ClassMethodVec classmethods;
typedef std::vector<bool> BoolVec;
BoolVec queueClassMethods;
// D main function
bool emitMain;
llvm::Function* mainFunc;
@@ -115,6 +110,7 @@ struct IRState : Object
LvalVec arrays;
// keeping track of the declaration for the current function body
typedef std::vector<FuncDeclaration*> FuncDeclVec;
FuncDeclVec funcdecls;
};