mirror of
https://github.com/github/codeql.git
synced 2026-04-30 03:05:15 +02:00
C++: Exclude 'this' params and read/write side effects from static member function calls through qualifiers, and accept tests
This commit is contained in:
@@ -6550,10 +6550,8 @@ ir.cpp:
|
||||
# 1272| r1272_1(glval<C>) = VariableAddress[c] :
|
||||
# 1272| r1272_2(glval<unknown>) = FunctionAddress[StaticMemberFunction] :
|
||||
# 1272| r1272_3(int) = Constant[10] :
|
||||
# 1272| r1272_4(int) = Call : func:r1272_2, this:r1272_1, 0:r1272_3
|
||||
# 1272| r1272_4(int) = Call : func:r1272_2, 0:r1272_3
|
||||
# 1272| mu1272_5(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
# 1272| v1272_6(void) = ^BufferReadSideEffect[-1] : &:r1272_1, ~mu1270_4
|
||||
# 1272| mu1272_7(C) = ^IndirectMayWriteSideEffect[-1] : &:r1272_1
|
||||
# 1273| r1273_1(glval<unknown>) = FunctionAddress[StaticMemberFunction] :
|
||||
# 1273| r1273_2(int) = Constant[10] :
|
||||
# 1273| r1273_3(int) = Call : func:r1273_1, 0:r1273_2
|
||||
@@ -6566,12 +6564,10 @@ ir.cpp:
|
||||
# 1276| r1276_4(A *) = CopyValue : r1276_3
|
||||
# 1276| r1276_5(glval<int>) = VariableAddress[int_arg] :
|
||||
# 1276| r1276_6(int) = Load : &:r1276_5, ~mu1270_4
|
||||
# 1276| v1276_7(void) = Call : func:r1276_2, this:r1276_1, 0:r1276_4, 1:r1276_6
|
||||
# 1276| v1276_7(void) = Call : func:r1276_2, 0:r1276_4, 1:r1276_6
|
||||
# 1276| mu1276_8(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
# 1276| v1276_9(void) = ^BufferReadSideEffect[-1] : &:r1276_1, ~mu1270_4
|
||||
# 1276| v1276_10(void) = ^BufferReadSideEffect[0] : &:r1276_4, ~mu1270_4
|
||||
# 1276| mu1276_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r1276_1
|
||||
# 1276| mu1276_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1276_4
|
||||
# 1276| v1276_9(void) = ^BufferReadSideEffect[0] : &:r1276_4, ~mu1270_4
|
||||
# 1276| mu1276_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1276_4
|
||||
# 1277| r1277_1(glval<unknown>) = FunctionAddress[static_member] :
|
||||
# 1277| r1277_2(glval<A>) = VariableAddress[a] :
|
||||
# 1277| r1277_3(A *) = CopyValue : r1277_2
|
||||
@@ -6590,12 +6586,10 @@ ir.cpp:
|
||||
# 1279| r1279_7(int) = Load : &:r1279_6, ~mu1270_4
|
||||
# 1279| r1279_8(int) = Constant[2] :
|
||||
# 1279| r1279_9(int) = Add : r1279_7, r1279_8
|
||||
# 1279| v1279_10(void) = Call : func:r1279_3, this:r1279_2, 0:r1279_5, 1:r1279_9
|
||||
# 1279| v1279_10(void) = Call : func:r1279_3, 0:r1279_5, 1:r1279_9
|
||||
# 1279| mu1279_11(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
# 1279| v1279_12(void) = ^BufferReadSideEffect[-1] : &:r1279_2, ~mu1270_4
|
||||
# 1279| v1279_13(void) = ^BufferReadSideEffect[0] : &:r1279_5, ~mu1270_4
|
||||
# 1279| mu1279_14(A) = ^IndirectMayWriteSideEffect[-1] : &:r1279_2
|
||||
# 1279| mu1279_15(unknown) = ^BufferMayWriteSideEffect[0] : &:r1279_5
|
||||
# 1279| v1279_12(void) = ^BufferReadSideEffect[0] : &:r1279_5, ~mu1270_4
|
||||
# 1279| mu1279_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1279_5
|
||||
# 1280| r1280_1(glval<A *>) = VariableAddress[a_arg] :
|
||||
# 1280| r1280_2(A *) = Load : &:r1280_1, ~mu1270_4
|
||||
# 1280| r1280_3(glval<A>) = CopyValue : r1280_2
|
||||
@@ -6603,30 +6597,24 @@ ir.cpp:
|
||||
# 1280| r1280_5(glval<A>) = VariableAddress[a] :
|
||||
# 1280| r1280_6(A *) = CopyValue : r1280_5
|
||||
# 1280| r1280_7(int) = Constant[99] :
|
||||
# 1280| v1280_8(void) = Call : func:r1280_4, this:r1280_3, 0:r1280_6, 1:r1280_7
|
||||
# 1280| v1280_8(void) = Call : func:r1280_4, 0:r1280_6, 1:r1280_7
|
||||
# 1280| mu1280_9(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
# 1280| v1280_10(void) = ^BufferReadSideEffect[-1] : &:r1280_3, ~mu1270_4
|
||||
# 1280| v1280_11(void) = ^BufferReadSideEffect[0] : &:r1280_6, ~mu1270_4
|
||||
# 1280| mu1280_12(A) = ^IndirectMayWriteSideEffect[-1] : &:r1280_3
|
||||
# 1280| mu1280_13(unknown) = ^BufferMayWriteSideEffect[0] : &:r1280_6
|
||||
# 1280| v1280_10(void) = ^BufferReadSideEffect[0] : &:r1280_6, ~mu1270_4
|
||||
# 1280| mu1280_11(unknown) = ^BufferMayWriteSideEffect[0] : &:r1280_6
|
||||
# 1281| r1281_1(glval<A *>) = VariableAddress[a_arg] :
|
||||
# 1281| r1281_2(A *) = Load : &:r1281_1, ~mu1270_4
|
||||
# 1281| r1281_3(glval<unknown>) = FunctionAddress[static_member] :
|
||||
# 1281| r1281_4(glval<A *>) = VariableAddress[a_arg] :
|
||||
# 1281| r1281_5(A *) = Load : &:r1281_4, ~mu1270_4
|
||||
# 1281| r1281_6(int) = Constant[-1] :
|
||||
# 1281| v1281_7(void) = Call : func:r1281_3, this:r1281_2, 0:r1281_5, 1:r1281_6
|
||||
# 1281| v1281_7(void) = Call : func:r1281_3, 0:r1281_5, 1:r1281_6
|
||||
# 1281| mu1281_8(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
# 1281| v1281_9(void) = ^BufferReadSideEffect[-1] : &:r1281_2, ~mu1270_4
|
||||
# 1281| v1281_10(void) = ^BufferReadSideEffect[0] : &:r1281_5, ~mu1270_4
|
||||
# 1281| mu1281_11(A) = ^IndirectMayWriteSideEffect[-1] : &:r1281_2
|
||||
# 1281| mu1281_12(unknown) = ^BufferMayWriteSideEffect[0] : &:r1281_5
|
||||
# 1281| v1281_9(void) = ^BufferReadSideEffect[0] : &:r1281_5, ~mu1270_4
|
||||
# 1281| mu1281_10(unknown) = ^BufferMayWriteSideEffect[0] : &:r1281_5
|
||||
# 1283| r1283_1(glval<A>) = VariableAddress[a] :
|
||||
# 1283| r1283_2(glval<unknown>) = FunctionAddress[static_member_without_def] :
|
||||
# 1283| v1283_3(void) = Call : func:r1283_2, this:r1283_1
|
||||
# 1283| v1283_3(void) = Call : func:r1283_2
|
||||
# 1283| mu1283_4(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
# 1283| v1283_5(void) = ^BufferReadSideEffect[-1] : &:r1283_1, ~mu1270_4
|
||||
# 1283| mu1283_6(A) = ^IndirectMayWriteSideEffect[-1] : &:r1283_1
|
||||
# 1284| r1284_1(glval<unknown>) = FunctionAddress[static_member_without_def] :
|
||||
# 1284| v1284_2(void) = Call : func:r1284_1
|
||||
# 1284| mu1284_3(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
@@ -6634,10 +6622,8 @@ ir.cpp:
|
||||
# 1286| r1286_2(A *) = Call : func:r1286_1
|
||||
# 1286| mu1286_3(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
# 1286| r1286_4(glval<unknown>) = FunctionAddress[static_member_without_def] :
|
||||
# 1286| v1286_5(void) = Call : func:r1286_4, this:r1286_2
|
||||
# 1286| v1286_5(void) = Call : func:r1286_4
|
||||
# 1286| mu1286_6(unknown) = ^CallSideEffect : ~mu1270_4
|
||||
# 1286| v1286_7(void) = ^BufferReadSideEffect[-1] : &:r1286_2, ~mu1270_4
|
||||
# 1286| mu1286_8(A) = ^IndirectMayWriteSideEffect[-1] : &:r1286_2
|
||||
# 1287| v1287_1(void) = NoOp :
|
||||
# 1270| v1270_11(void) = ReturnIndirection : &:r1270_9, ~mu1270_4
|
||||
# 1270| v1270_12(void) = ReturnVoid :
|
||||
|
||||
Reference in New Issue
Block a user