Summary:
Both of these errors should have been caught by type-checking during
parsing.
Change-Id: I891087936fd1a91d21bcda57c256e3edbe12b94d
Reviewers: arsenm, craig.topper, tra, MartinO
Subscribers: wdng, llvm-commits
Differential Revision: https://reviews.llvm.org/D43558
llvm-svn: 325800
bool setValue(Init *V) {
if (V) {
Value = V->convertInitializerTo(getType());
+ assert(!Value || !isa<TypedInit>(Value) ||
+ cast<TypedInit>(Value)->getType()->typeIsConvertibleTo(getType()));
return Value == nullptr;
}
Value = nullptr;
if (ListInit *I = ThePool.FindNodeOrInsertPos(ID, IP))
return I;
+ assert(Range.empty() || !isa<TypedInit>(Range[0]) ||
+ cast<TypedInit>(Range[0])->getType()->typeIsConvertibleTo(EltTy));
+
void *Mem = Allocator.Allocate(totalSizeToAlloc<Init *>(Range.size()),
alignof(ListInit));
ListInit *I = new(Mem) ListInit(Range.size(), EltTy);