[svn r360] Another mostly rewrite of DtoArrayInit. Should be much more robust now, and probably faster code generated for the most common cases too!

Fixed issues with slice initialization (!!!) of multidimensional static arrays.
Attempt to fix issue with referencing nested 'this' pointers introduced in DMD 1.033 merge.
This commit is contained in:
Tomas Lindquist Olsen
2008-07-13 01:29:49 +02:00
parent c67753508b
commit 85c1b42b1b
7 changed files with 134 additions and 85 deletions

View File

@@ -194,6 +194,7 @@ static void LLVM_D_BuildRuntimeModule()
const LLType* longTy = LLType::Int64Ty;
const LLType* floatTy = LLType::FloatTy;
const LLType* doubleTy = LLType::DoubleTy;
const LLType* realTy = (global.params.useFP80) ? LLType::X86_FP80Ty : LLType::DoubleTy;
const LLType* sizeTy = DtoSize_t();
const LLType* voidPtrTy = rt_ptr(byteTy);
const LLType* stringTy = rt_array(byteTy);
@@ -361,6 +362,7 @@ static void LLVM_D_BuildRuntimeModule()
ARRAY_INIT(longTy,"i64")
ARRAY_INIT(floatTy,"float")
ARRAY_INIT(doubleTy,"double")
ARRAY_INIT(realTy,"real")
ARRAY_INIT(voidPtrTy,"pointer")
#undef ARRAY_INIT