changeset 178:8873b7f1457e trunk

[svn r194] Fixed: string literal constant expressions with static array type was broken.
author lindquist
date Wed, 07 May 2008 05:02:48 +0200
parents cea8dcfa76df
children c853a8a04cdc
files gen/toir.cpp
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/gen/toir.cpp	Wed May 07 04:45:51 2008 +0200
+++ b/gen/toir.cpp	Wed May 07 05:02:48 2008 +0200
@@ -528,6 +528,11 @@
     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 @@
     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);
     }