Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit c971cb8

Browse files
committed
DebugInfo: Specify that a value is stored indirectly
This is a precursor to fix a regression caused by PR14763/r183329 where the location of a non-trivial pass-by-value parameter ends up incorrectly referring directly to the parameter (a pointer) rather than the object pointed to by the pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184365 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 0812304 commit c971cb8

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

include/llvm/DebugInfo.h

+7-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ namespace llvm {
6363
FlagObjcClassComplete = 1 << 9,
6464
FlagObjectPointer = 1 << 10,
6565
FlagVector = 1 << 11,
66-
FlagStaticMember = 1 << 12
66+
FlagStaticMember = 1 << 12,
67+
FlagIndirectVariable = 1 << 13
6768
};
6869
protected:
6970
const MDNode *DbgNode;
@@ -553,6 +554,11 @@ namespace llvm {
553554
return (getUnsignedField(6) & FlagObjectPointer) != 0;
554555
}
555556

557+
/// \brief Return true if this variable is represented as a pointer.
558+
bool isIndirect() const {
559+
return (getUnsignedField(6) & FlagIndirectVariable) != 0;
560+
}
561+
556562
/// getInlinedAt - If this variable is inlined then return inline location.
557563
MDNode *getInlinedAt() const;
558564

0 commit comments

Comments
 (0)