mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-28 09:56:05 +00:00
[HWASAN] Remove DW_OP_LLVM_tag_offset from DIExpression::isImplicit (#79816)
According to its doc-comment `isImplicit` is meant to return true if the expression is an implicit location description (describes an object or part of an object which has no location by computing the value from available program state). There's a brief entry for `DW_OP_LLVM_tag_offset` in the LangRef and there's some info in the original commit fb9ce100d19be130d004d03088ccd4af295f3435. From what I can tell it doesn't look like `DW_OP_LLVM_tag_offset` affects whether or not the location is implicit; the opcode doesn't get included in the final location description but instead is added as an attribute to the variable. This was tripping an assertion in the latest application of the fix to #76545, #78606, where an expression containing a `DW_OP_LLVM_tag_offset` is split into a fragment (i.e., describe a part of the whole variable).
This commit is contained in:
parent
1bbb797e9c
commit
f34418c73b
@ -1512,7 +1512,6 @@ bool DIExpression::isImplicit() const {
|
||||
default:
|
||||
break;
|
||||
case dwarf::DW_OP_stack_value:
|
||||
case dwarf::DW_OP_LLVM_tag_offset:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user