Mercurial > projects > ldc
changeset 1169:2bff538fa3b9
Automated merge with http://hg.dsource.org/projects/ldc
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 29 Mar 2009 11:44:32 +0200 |
parents | ed4b050ada45 (diff) ab186e535e72 (current diff) |
children | e40c65bd8c5d |
files | |
diffstat | 5 files changed, 8 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/dmd/lexer.c Sun Mar 29 11:43:45 2009 +0200 +++ b/dmd/lexer.c Sun Mar 29 11:44:32 2009 +0200 @@ -118,22 +118,14 @@ switch (value) { case TOKint32v: -#if IN_GCC sprintf(buffer,"%d",(d_int32)int64value); -#else - sprintf(buffer,"%d",int32value); -#endif break; case TOKuns32v: case TOKcharv: case TOKwcharv: case TOKdcharv: -#if IN_GCC sprintf(buffer,"%uU",(d_uns32)uns64value); -#else - sprintf(buffer,"%uU",uns32value); -#endif break; case TOKint64v:
--- a/dmd/lexer.h Sun Mar 29 11:43:45 2009 +0200 +++ b/dmd/lexer.h Sun Mar 29 11:44:32 2009 +0200 @@ -217,8 +217,6 @@ union { // Integers - d_int32 int32value; - d_uns32 uns32value; d_int64 int64value; d_uns64 uns64value;
--- a/dmd/parse.c Sun Mar 29 11:43:45 2009 +0200 +++ b/dmd/parse.c Sun Mar 29 11:44:32 2009 +0200 @@ -3985,12 +3985,12 @@ break; case TOKint32v: - e = new IntegerExp(loc, token.int32value, Type::tint32); + e = new IntegerExp(loc, (d_int32)token.int64value, Type::tint32); nextToken(); break; case TOKuns32v: - e = new IntegerExp(loc, token.uns32value, Type::tuns32); + e = new IntegerExp(loc, (d_uns32)token.uns64value, Type::tuns32); nextToken(); break; @@ -4064,17 +4064,17 @@ break; case TOKcharv: - e = new IntegerExp(loc, token.uns32value, Type::tchar); + e = new IntegerExp(loc, (d_uns8)token.uns64value, Type::tchar); nextToken(); break; case TOKwcharv: - e = new IntegerExp(loc, token.uns32value, Type::twchar); + e = new IntegerExp(loc, (d_uns16)token.uns64value, Type::twchar); nextToken(); break; case TOKdcharv: - e = new IntegerExp(loc, token.uns32value, Type::tdchar); + e = new IntegerExp(loc, (d_uns32)token.uns64value, Type::tdchar); nextToken(); break;
--- a/gen/llvmhelpers.cpp Sun Mar 29 11:43:45 2009 +0200 +++ b/gen/llvmhelpers.cpp Sun Mar 29 11:44:32 2009 +0200 @@ -1316,7 +1316,7 @@ } char tmp[21]; // probably excessive, but covers a uint64_t - sprintf(tmp, "%lu", gTargetData->getTypeSizeInBits(DtoType(T))); + sprintf(tmp, "%lu", (unsigned long) gTargetData->getTypeSizeInBits(DtoType(T))); // replace # in name with bitsize name = td->intrinsicName;
--- a/gen/toir.cpp Sun Mar 29 11:43:45 2009 +0200 +++ b/gen/toir.cpp Sun Mar 29 11:44:32 2009 +0200 @@ -611,9 +611,8 @@ if (e1type != e2type) { if (e1type->ty == Tpointer) { Logger::println("add to pointer"); - if (r->isConst()) { - llvm::ConstantInt* cofs = llvm::cast<llvm::ConstantInt>(r->isConst()->c); - if (cofs->isZero()) { + if (DConstValue* cv = r->isConst()) { + if (cv->c->isNullValue()) { Logger::println("is zero"); return new DImValue(type, l->getRVal()); }