mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-04-17 17:29:02 +02:00
[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:
@@ -509,6 +509,8 @@ struct FuncDeclaration : Declaration
|
||||
int cvMember(unsigned char *p);
|
||||
|
||||
FuncDeclaration *isFuncDeclaration() { return this; }
|
||||
|
||||
bool llvmQueued;
|
||||
};
|
||||
|
||||
struct FuncAliasDeclaration : FuncDeclaration
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user