comparison gen/typinf.cpp @ 796:6e7a4c3b64d2

Error instead of assert when trying to build a default initializer for void[n].
author Christian Kamm <kamm incasoftware de>
date Sat, 29 Nov 2008 12:28:10 +0100
parents af04bbae8553
children 340acf1535d0
comparison
equal deleted inserted replaced
795:06ba66bc0689 796:6e7a4c3b64d2
422 { 422 {
423 sinits.push_back(DtoConstSlice(DtoConstSize_t(0), getNullPtr(initpt))); 423 sinits.push_back(DtoConstSlice(DtoConstSize_t(0), getNullPtr(initpt)));
424 } 424 }
425 else 425 else
426 { 426 {
427 LLConstant* ci = DtoConstInitializer(sd->basetype, sd->init); 427 LLConstant* ci = DtoConstInitializer(sd->loc, sd->basetype, sd->init);
428 std::string ciname(sd->mangle()); 428 std::string ciname(sd->mangle());
429 ciname.append("__init"); 429 ciname.append("__init");
430 llvm::GlobalVariable* civar = new llvm::GlobalVariable(DtoType(sd->basetype),true,llvm::GlobalValue::InternalLinkage,ci,ciname,gIR->module); 430 llvm::GlobalVariable* civar = new llvm::GlobalVariable(DtoType(sd->basetype),true,llvm::GlobalValue::InternalLinkage,ci,ciname,gIR->module);
431 LLConstant* cicast = llvm::ConstantExpr::getBitCast(civar, initpt); 431 LLConstant* cicast = llvm::ConstantExpr::getBitCast(civar, initpt);
432 size_t cisize = getTypeStoreSize(DtoType(sd->basetype)); 432 size_t cisize = getTypeStoreSize(DtoType(sd->basetype));