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());
                 }