[svn r194] Fixed: string literal constant expressions with static array type was broken.

This commit is contained in:
Tomas Lindquist Olsen
2008-05-07 05:02:48 +02:00
parent 24bd9034c3
commit 44f53bc164

View File

@@ -528,6 +528,11 @@ llvm::Constant* StringExp::toConstElem(IRState* p)
else
assert(0);
if (t->ty == Tsarray)
{
return _init;
}
llvm::GlobalValue::LinkageTypes _linkage = llvm::GlobalValue::InternalLinkage;//WeakLinkage;
llvm::GlobalVariable* gvar = new llvm::GlobalVariable(_init->getType(),true,_linkage,_init,"stringliteral",gIR->module);
@@ -538,8 +543,7 @@ llvm::Constant* StringExp::toConstElem(IRState* p)
if (t->ty == Tpointer) {
return arrptr;
}
if (t->ty == Tarray) {
else if (t->ty == Tarray) {
llvm::Constant* clen = llvm::ConstantInt::get(DtoSize_t(),len,false);
return DtoConstSlice(clen, arrptr);
}