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 }