changeset 643:2a0bcf7f7b3d

Fix -oq, closes #96 Add value debug output to RealExp::toConstElem.
author Christian Kamm <kamm incasoftware de>
date Fri, 03 Oct 2008 19:24:46 +0200
parents 307ae566885f
children 49466efd4fba
files dmd/module.c gen/toir.cpp
diffstat 2 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/dmd/module.c	Fri Oct 03 17:31:16 2008 +0200
+++ b/dmd/module.c	Fri Oct 03 19:24:46 2008 +0200
@@ -141,16 +141,22 @@
 	    argobj = FileName::name((char*)this->arg);
 
 	if (global.params.fqnNames)
+	{
 	    if(md)
 		argobj = FileName::replaceName(argobj, md->toChars());
 	    else
 		argobj = FileName::replaceName(argobj, toChars());
 
-	int clen = strlen(argobj);
-	char* tmp = (char *)alloca(clen + 1);
-	memcpy(tmp, argobj, clen);
-	tmp[clen] = 0;
-	argobj = tmp;
+	    // add ext, otherwise forceExt will make nested.module into nested.bc
+	    size_t len = strlen(argobj);
+	    size_t extlen = strlen(ext);
+	    char* s = (char *)alloca(len + 1 + extlen + 1);
+	    memcpy(s, argobj, len);
+	    s[len] = '.';
+	    memcpy(s + len + 1, ext, extlen + 1);
+	    s[len+1+extlen] = 0;
+	    argobj = s;
+	}
     }
 
     if (!FileName::absolute(argobj))
--- a/gen/toir.cpp	Fri Oct 03 17:31:16 2008 +0200
+++ b/gen/toir.cpp	Fri Oct 03 19:24:46 2008 +0200
@@ -244,7 +244,7 @@
 
 LLConstant* RealExp::toConstElem(IRState* p)
 {
-    Logger::print("RealExp::toConstElem: %s | %s\n", toChars(), type->toChars());
+    Logger::print("RealExp::toConstElem: %s | %s | %LX\n", toChars(), type->toChars(), value);
     LOG_SCOPE;
     Type* t = type->toBasetype();
     return DtoConstFP(t, value);