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