[svn r15] * Fixed a bunch problems with virtual calls. Seems I did some rather poor testing.

* Now 50/51 tests compile.
* Added a simple runalltests.d scripts that should be run with 'gdmd -run runalltests.d' - LLVMDC will not compile it yet.
This commit is contained in:
Tomas Lindquist Olsen
2007-10-02 05:10:18 +02:00
parent e1a8afb028
commit 4eab68b36c
19 changed files with 205 additions and 71 deletions

View File

@@ -509,6 +509,8 @@ struct FuncDeclaration : Declaration
int cvMember(unsigned char *p);
FuncDeclaration *isFuncDeclaration() { return this; }
bool llvmQueued;
};
struct FuncAliasDeclaration : FuncDeclaration

View File

@@ -73,6 +73,7 @@ FuncDeclaration::FuncDeclaration(Loc loc, Loc endloc, Identifier *id, enum STC s
nrvo_can = 1;
nrvo_var = NULL;
shidden = NULL;
llvmQueued = false;
}
Dsymbol *FuncDeclaration::syntaxCopy(Dsymbol *s)

View File

@@ -349,7 +349,7 @@ int main(int argc, char *argv[])
global.params.Dversion = 1;
else if (strcmp(p + 1, "w") == 0)
global.params.warnings = 1;
else if (strcmp(p + 1, "O") == 0)
else if (p[1] == 'O')
{
global.params.optimize = 1;
if (p[2] != 0) {

View File

@@ -114,7 +114,7 @@ Type::Type(TY ty, Type *next)
this->arrayof = NULL;
this->vtinfo = NULL;
this->ctype = NULL;
this->llvmType = 0;
this->llvmType = NULL;
}
Type *Type::syntaxCopy()

View File

@@ -250,7 +250,7 @@ struct Type : Object
virtual type *toCParamtype();
virtual Symbol *toSymbol();
llvm::Type* llvmType;
const llvm::Type* llvmType;
// For eliminating dynamic_cast
virtual TypeBasic *isTypeBasic();