comparison gen/statements.cpp @ 1350:15e9762bb620

Adds explicit alignment information for alloca instructions in general, there's a few cases that still needs to be looked at but this should catch the majority. Fixes ticket #293 .
author Tomas Lindquist Olsen <tomas.l.olsen gmail com>
date Thu, 14 May 2009 13:26:40 +0200
parents 0686701178d3
children 3f5ea912149d
comparison
equal deleted inserted replaced
1349:a376776e2301 1350:15e9762bb620
1023 const LLType* keytype = key ? DtoType(key->type) : DtoSize_t(); 1023 const LLType* keytype = key ? DtoType(key->type) : DtoSize_t();
1024 LLValue* keyvar; 1024 LLValue* keyvar;
1025 if (key) 1025 if (key)
1026 keyvar = DtoRawVarDeclaration(key); 1026 keyvar = DtoRawVarDeclaration(key);
1027 else 1027 else
1028 keyvar = DtoAlloca(keytype, "foreachkey"); 1028 keyvar = DtoRawAlloca(keytype, 0, "foreachkey"); // FIXME: align?
1029 LLValue* zerokey = llvm::ConstantInt::get(keytype,0,false); 1029 LLValue* zerokey = llvm::ConstantInt::get(keytype,0,false);
1030 1030
1031 // value 1031 // value
1032 Logger::println("value = %s", value->toPrettyChars()); 1032 Logger::println("value = %s", value->toPrettyChars());
1033 LLValue* valvar = NULL; 1033 LLValue* valvar = NULL;