mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-22 20:20:03 +00:00
Debug Info: add an assertion that the context field of a global variable can not
be a DIType with identifier. This makes sure that there is no need to use DIScopeRef for global variable's context. rdar://18958417 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222561 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7e19efdbb3
commit
ea692ff712
@ -836,6 +836,13 @@ static DIGlobalVariable createGlobalVariableHelper(
|
||||
StringRef LinkageName, DIFile F, unsigned LineNumber, DITypeRef Ty,
|
||||
bool isLocalToUnit, Constant *Val, MDNode *Decl, bool isDefinition,
|
||||
std::function<MDNode *(ArrayRef<Value *>)> CreateFunc) {
|
||||
|
||||
MDNode *TheCtx = getNonCompileUnitScope(Context);
|
||||
if (DIScope(TheCtx).isCompositeType()) {
|
||||
assert(!DICompositeType(TheCtx).getIdentifier() &&
|
||||
"Context of a global variable should not be a type with identifier");
|
||||
}
|
||||
|
||||
Value *Elts[] = {HeaderBuilder::get(dwarf::DW_TAG_variable)
|
||||
.concat(Name)
|
||||
.concat(Name)
|
||||
@ -844,7 +851,7 @@ static DIGlobalVariable createGlobalVariableHelper(
|
||||
.concat(isLocalToUnit)
|
||||
.concat(isDefinition)
|
||||
.get(VMContext),
|
||||
DIScope(getNonCompileUnitScope(Context)).getRef(), F, Ty, Val,
|
||||
DIScope(TheCtx).getRef(), F, Ty, Val,
|
||||
DIDescriptor(Decl)};
|
||||
|
||||
return DIGlobalVariable(CreateFunc(Elts));
|
||||
|
Loading…
Reference in New Issue
Block a user