Mercurial > projects > ldc
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; |