C++: Also mark indirections of glvalue instructions as glvalue nodes.

This commit is contained in:
Mathias Vorreiter Pedersen
2024-02-08 16:52:09 +00:00
parent 4d01a93107
commit 1dfddaf9ab
2 changed files with 4 additions and 16 deletions

View File

@@ -999,6 +999,8 @@ private module RawIndirectNodes {
override Declaration getEnclosingCallable() { result = this.getFunction() }
override predicate isGLValue() { this.getOperand().isGLValue() }
override DataFlowType getType() {
exists(int sub, DataFlowType type, boolean isGLValue |
type = getOperandType(this.getOperand(), isGLValue) and
@@ -1041,6 +1043,8 @@ private module RawIndirectNodes {
override Declaration getEnclosingCallable() { result = this.getFunction() }
override predicate isGLValue() { this.getInstruction().isGLValue() }
override DataFlowType getType() {
exists(int sub, DataFlowType type, boolean isGLValue |
type = getInstructionType(this.getInstruction(), isGLValue) and