comparison 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
comparison
equal deleted inserted replaced
642:307ae566885f 643:2a0bcf7f7b3d
139 argobj = (char*)this->arg; 139 argobj = (char*)this->arg;
140 else 140 else
141 argobj = FileName::name((char*)this->arg); 141 argobj = FileName::name((char*)this->arg);
142 142
143 if (global.params.fqnNames) 143 if (global.params.fqnNames)
144 {
144 if(md) 145 if(md)
145 argobj = FileName::replaceName(argobj, md->toChars()); 146 argobj = FileName::replaceName(argobj, md->toChars());
146 else 147 else
147 argobj = FileName::replaceName(argobj, toChars()); 148 argobj = FileName::replaceName(argobj, toChars());
148 149
149 int clen = strlen(argobj); 150 // add ext, otherwise forceExt will make nested.module into nested.bc
150 char* tmp = (char *)alloca(clen + 1); 151 size_t len = strlen(argobj);
151 memcpy(tmp, argobj, clen); 152 size_t extlen = strlen(ext);
152 tmp[clen] = 0; 153 char* s = (char *)alloca(len + 1 + extlen + 1);
153 argobj = tmp; 154 memcpy(s, argobj, len);
155 s[len] = '.';
156 memcpy(s + len + 1, ext, extlen + 1);
157 s[len+1+extlen] = 0;
158 argobj = s;
159 }
154 } 160 }
155 161
156 if (!FileName::absolute(argobj)) 162 if (!FileName::absolute(argobj))
157 { 163 {
158 argobj = FileName::combine(path, argobj); 164 argobj = FileName::combine(path, argobj);