diff dmd/module.c @ 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 452e6e2618bf
children eef8ac26c66c
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))