Mercurial > projects > ldc
comparison gen/structs.cpp @ 1571:8d086d552909
IntegerType is now contextifed.
Requires llvm >= 78969. resistor says this will be the last context API change :)
author | Benjamin Kramer <benny.kra@gmail.com> |
---|---|
date | Fri, 14 Aug 2009 00:39:18 +0200 |
parents | 755abafbf25d |
children |
comparison
equal
deleted
inserted
replaced
1570:ab03cfb3a212 | 1571:8d086d552909 |
---|---|
160 bool is64 = global.params.is64bit; | 160 bool is64 = global.params.is64bit; |
161 while (diff) | 161 while (diff) |
162 { | 162 { |
163 if (is64 && diff % 8 == 0) | 163 if (is64 && diff % 8 == 0) |
164 { | 164 { |
165 values.push_back(LLConstant::getNullValue(llvm::Type::Int64Ty)); | 165 values.push_back(LLConstant::getNullValue(llvm::Type::getInt64Ty(gIR->context()))); |
166 diff -= 8; | 166 diff -= 8; |
167 } | 167 } |
168 else if (diff % 4 == 0) | 168 else if (diff % 4 == 0) |
169 { | 169 { |
170 values.push_back(LLConstant::getNullValue(llvm::Type::Int32Ty)); | 170 values.push_back(LLConstant::getNullValue(llvm::Type::getInt32Ty(gIR->context()))); |
171 diff -= 4; | 171 diff -= 4; |
172 } | 172 } |
173 else if (diff % 2 == 0) | 173 else if (diff % 2 == 0) |
174 { | 174 { |
175 values.push_back(LLConstant::getNullValue(llvm::Type::Int16Ty)); | 175 values.push_back(LLConstant::getNullValue(llvm::Type::getInt16Ty(gIR->context()))); |
176 diff -= 2; | 176 diff -= 2; |
177 } | 177 } |
178 else | 178 else |
179 { | 179 { |
180 values.push_back(LLConstant::getNullValue(llvm::Type::Int8Ty)); | 180 values.push_back(LLConstant::getNullValue(llvm::Type::getInt8Ty(gIR->context()))); |
181 diff -= 1; | 181 diff -= 1; |
182 } | 182 } |
183 } | 183 } |
184 return values.size() - n; | 184 return values.size() - n; |
185 } | 185 } |