"Invalid Language tag");
assert(!Filename.empty() &&
"Unable to create compile unit without filename");
- Metadata *TElts[] = {HeaderBuilder::get(DW_TAG_base_type).get(VMContext)};
- TempEnumTypes = MDNode::getTemporary(VMContext, TElts).release();
- TempRetainTypes = MDNode::getTemporary(VMContext, TElts).release();
-
- TempSubprograms = MDNode::getTemporary(VMContext, TElts).release();
-
- TempGVs = MDNode::getTemporary(VMContext, TElts).release();
-
- TempImportedModules = MDNode::getTemporary(VMContext, TElts).release();
+ // TODO: Once we make MDCompileUnit distinct, stop using temporaries here
+ // (just start with operands assigned to nullptr).
+ TempEnumTypes = MDTuple::getTemporary(VMContext, None).release();
+ TempRetainTypes = MDTuple::getTemporary(VMContext, None).release();
+ TempSubprograms = MDTuple::getTemporary(VMContext, None).release();
+ TempGVs = MDTuple::getTemporary(VMContext, None).release();
+ TempImportedModules = MDTuple::getTemporary(VMContext, None).release();
Metadata *Elts[] = {HeaderBuilder::get(dwarf::DW_TAG_compile_unit)
.concat(Lang)
TempEnumTypes, TempRetainTypes, TempSubprograms, TempGVs,
TempImportedModules};
+ // TODO: Switch to getDistinct(). We never want to merge compile units based
+ // on contents.
MDNode *CUNode = MDNode::get(VMContext, Elts);
// Create a named metadata so that it is easier to find cu in a module.