Merge branch 'main' into intmultlong

This commit is contained in:
Geoffrey White
2020-10-20 14:55:53 +01:00
458 changed files with 41213 additions and 11536 deletions

View File

@@ -1,18 +1,18 @@
#-----| [CopyAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag const&)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const __va_list_tag &
#-----| [MoveAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag&&)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] __va_list_tag &&
#-----| [Operator,TopLevelFunction] void operator delete(void*)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [VoidPointerType] void *
#-----| [Operator,TopLevelFunction] void* operator new(unsigned long)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LongType] unsigned long
AddressOf.c:
# 1| [TopLevelFunction] void AddressOf(int)
@@ -114,19 +114,19 @@ ConditionDecl.cpp:
ConstructorCall.cpp:
# 1| [CopyAssignmentOperator] C& C::operator=(C const&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const C &
# 1| [MoveAssignmentOperator] C& C::operator=(C&&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] C &&
# 1| [CopyConstructor] void C::C(C const&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const C &
# 1| [MoveConstructor] void C::C(C&&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] C &&
# 3| [ConversionConstructor] void C::C(int)
# 3| params:
@@ -137,19 +137,19 @@ ConstructorCall.cpp:
# 4| 0: [ReturnStmt] return ...
# 7| [CopyAssignmentOperator] D& D::operator=(D const&)
# 7| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const D &
# 7| [MoveAssignmentOperator] D& D::operator=(D&&)
# 7| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] D &&
# 7| [CopyConstructor] void D::D(D const&)
# 7| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const D &
# 7| [MoveConstructor] void D::D(D&&)
# 7| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] D &&
# 9| [Constructor] void D::D()
# 9| params:
@@ -158,11 +158,11 @@ ConstructorCall.cpp:
# 10| 0: [ReturnStmt] return ...
# 13| [CopyAssignmentOperator] E& E::operator=(E const&)
# 13| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const E &
# 13| [MoveAssignmentOperator] E& E::operator=(E&&)
# 13| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] E &&
# 17| [TopLevelFunction] void ConstructorCall(C*, D*, E*)
# 17| params:
@@ -385,7 +385,7 @@ DestructorCall.cpp:
DynamicCast.cpp:
# 1| [CopyAssignmentOperator] Base& Base::operator=(Base const&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Base &
#-----| body: [BlockStmt] { ... }
#-----| 0: [ReturnStmt] return ...
@@ -400,17 +400,17 @@ DynamicCast.cpp:
#-----| ValueCategory = prvalue(load)
# 1| [MoveAssignmentOperator] Base& Base::operator=(Base&&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Base &&
# 1| [Constructor] void Base::Base()
# 1| params:
# 1| [CopyConstructor] void Base::Base(Base const&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Base &
# 1| [MoveConstructor] void Base::Base(Base&&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Base &&
# 2| [VirtualFunction] void Base::f()
# 2| params:
@@ -418,7 +418,7 @@ DynamicCast.cpp:
# 2| 0: [ReturnStmt] return ...
# 4| [CopyAssignmentOperator] Derived& Derived::operator=(Derived const&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Derived &
#-----| body: [BlockStmt] { ... }
#-----| 0: [ExprStmt] ExprStmt
@@ -451,7 +451,7 @@ DynamicCast.cpp:
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Derived
#-----| ValueCategory = lvalue
# 4| expr: [VariableAccess] p#0
# 4| expr: [VariableAccess] (unnamed parameter 0)
# 4| Type = [LValueReferenceType] const Derived &
# 4| ValueCategory = prvalue(load)
#-----| 1: [ReturnStmt] return ...
@@ -466,17 +466,17 @@ DynamicCast.cpp:
#-----| ValueCategory = prvalue(load)
# 4| [MoveAssignmentOperator] Derived& Derived::operator=(Derived&&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Derived &&
# 4| [Constructor] void Derived::Derived()
# 4| params:
# 4| [CopyConstructor] void Derived::Derived(Derived const&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Derived &
# 4| [MoveConstructor] void Derived::Derived(Derived&&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Derived &&
# 5| [VirtualFunction] void Derived::f()
# 5| params:
@@ -690,11 +690,11 @@ StatementExpr.c:
StaticMemberAccess.cpp:
# 1| [CopyAssignmentOperator] X& X::operator=(X const&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const X &
# 1| [MoveAssignmentOperator] X& X::operator=(X&&)
# 1| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] X &&
# 5| [TopLevelFunction] void StaticMemberAccess(int, X&)
# 5| params:
@@ -749,19 +749,19 @@ Subscript.c:
Throw.cpp:
# 2| [CopyAssignmentOperator] F& F::operator=(F const&)
# 2| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const F &
# 2| [MoveAssignmentOperator] F& F::operator=(F&&)
# 2| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] F &&
# 2| [CopyConstructor] void F::F(F const&)
# 2| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const F &
# 2| [MoveConstructor] void F::F(F&&)
# 2| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] F &&
# 2| initializations:
# 2| body: [BlockStmt] { ... }
@@ -810,11 +810,11 @@ Throw.cpp:
Typeid.cpp:
# 4| [CopyAssignmentOperator] std::type_info& std::type_info::operator=(std::type_info const&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const type_info &
# 4| [MoveAssignmentOperator] std::type_info& std::type_info::operator=(std::type_info&&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] type_info &&
# 7| [ConstMemberFunction] char const* std::type_info::name() const
# 7| params:
@@ -1203,11 +1203,11 @@ macro_etc.c:
union_etc.cpp:
# 2| [CopyAssignmentOperator] S& S::operator=(S const&)
# 2| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const S &
# 2| [MoveAssignmentOperator] S& S::operator=(S&&)
# 2| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] S &&
# 2| [Constructor] void S::S()
# 2| params:
@@ -1216,27 +1216,27 @@ union_etc.cpp:
# 2| 0: [ReturnStmt] return ...
# 2| [CopyConstructor] void S::S(S const&)
# 2| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const S &
# 2| [MoveConstructor] void S::S(S&&)
# 2| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] S &&
# 3| [CopyAssignmentOperator] S::U& S::U::operator=(S::U const public&)
# 3| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const U &
# 3| [MoveAssignmentOperator] S::U& S::U::operator=(S::U&&)
# 3| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] U &&
# 4| [CopyAssignmentOperator] S::C& S::C::operator=(S::C const public&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const C &
# 4| [MoveAssignmentOperator] S::C& S::C::operator=(S::C&&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] C &&
# 6| [VirtualFunction] void S::set_q(int)
# 6| params:
@@ -1259,51 +1259,51 @@ union_etc.cpp:
# 6| 1: [ReturnStmt] return ...
# 9| [CopyAssignmentOperator] C& C::operator=(C const&)
# 9| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const C &
# 9| [MoveAssignmentOperator] C& C::operator=(C&&)
# 9| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] C &&
# 11| [CopyAssignmentOperator] C::S& C::S::operator=(C::S const public&)
# 11| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const S &
# 11| [MoveAssignmentOperator] C::S& C::S::operator=(C::S&&)
# 11| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] S &&
# 12| [CopyAssignmentOperator] C::U& C::U::operator=(C::U const public&)
# 12| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const U &
# 12| [MoveAssignmentOperator] C::U& C::U::operator=(C::U&&)
# 12| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] U &&
# 16| [CopyAssignmentOperator] U& U::operator=(U const&)
# 16| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const U &
# 16| [MoveAssignmentOperator] U& U::operator=(U&&)
# 16| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] U &&
# 17| [CopyAssignmentOperator] U::S& U::S::operator=(U::S const public&)
# 17| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const S &
# 17| [MoveAssignmentOperator] U::S& U::S::operator=(U::S&&)
# 17| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] S &&
# 18| [CopyAssignmentOperator] U::C& U::C::operator=(U::C const public&)
# 18| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const C &
# 18| [MoveAssignmentOperator] U::C& U::C::operator=(U::C&&)
# 18| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] C &&
# 22| [TopLevelFunction] int foo()
# 22| params:
@@ -1405,21 +1405,21 @@ union_etc.cpp:
# 28| ValueCategory = lvalue
# 31| [CopyAssignmentOperator] T& T::operator=(T const&)
# 31| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const T &
# 31| [MoveAssignmentOperator] T& T::operator=(T&&)
# 31| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] T &&
# 31| [Constructor] void T::T()
# 31| params:
# 31| [CopyConstructor] void T::T(T const&)
# 31| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const T &
# 31| [MoveConstructor] void T::T(T&&)
# 31| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] T &&
# 33| [VirtualFunction] void T::set_q(int)
# 33| params:

View File

@@ -1,14 +1,14 @@
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | C && | Variable | <none> |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | C && | Variable | <none> |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | D && | Variable | <none> |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | __va_list_tag && | Variable | <none> |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const C & | Variable | <none> |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const C & | Variable | <none> |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const D & | Variable | <none> |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const __va_list_tag & | Variable | <none> |
| file://:0:0:0:0 | fp_offset | file://:0:0:0:0 | unsigned int | MemberVariable | __va_list_tag |
| file://:0:0:0:0 | gp_offset | file://:0:0:0:0 | unsigned int | MemberVariable | __va_list_tag |
| file://:0:0:0:0 | overflow_arg_area | file://:0:0:0:0 | void * | MemberVariable | __va_list_tag |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | C && | Variable | <none> |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | C && | Variable | <none> |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | D && | Variable | <none> |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | __va_list_tag && | Variable | <none> |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const C & | Variable | <none> |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const C & | Variable | <none> |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const D & | Variable | <none> |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const __va_list_tag & | Variable | <none> |
| file://:0:0:0:0 | reg_save_area | file://:0:0:0:0 | void * | MemberVariable | __va_list_tag |
| foo.h:7:5:7:15 | foo_defined | file://:0:0:0:0 | int | MemberVariable | C |
| foo.h:7:5:7:15 | foo_defined | file://:0:0:0:0 | int | Variable | <none> |

View File

@@ -1,7 +1,7 @@
| a.h:3:8:3:8 | x | x | true |
| file://:0:0:0:0 | (unnamed parameter 0) | (unnamed parameter 0) | false |
| file://:0:0:0:0 | (unnamed parameter 0) | (unnamed parameter 0) | false |
| file://:0:0:0:0 | fp_offset | fp_offset | false |
| file://:0:0:0:0 | gp_offset | gp_offset | false |
| file://:0:0:0:0 | overflow_arg_area | overflow_arg_area | false |
| file://:0:0:0:0 | p#0 | p#0 | false |
| file://:0:0:0:0 | p#0 | p#0 | false |
| file://:0:0:0:0 | reg_save_area | reg_save_area | false |

View File

@@ -26,10 +26,10 @@
| CPP-205.cpp:8:3:8:15 | return ... | |
| CPP-205.cpp:8:10:8:11 | call to fn | |
| CPP-205.cpp:8:13:8:13 | 0 | |
| file://:0:0:0:0 | (unnamed parameter 0) | parameter for __va_list_tag::operator=(__va_list_tag &&) -> __va_list_tag & |
| file://:0:0:0:0 | (unnamed parameter 0) | parameter for __va_list_tag::operator=(const __va_list_tag &) -> __va_list_tag & |
| file://:0:0:0:0 | __super | |
| file://:0:0:0:0 | __va_list_tag | |
| file://:0:0:0:0 | operator= | function __va_list_tag::operator=(__va_list_tag &&) -> __va_list_tag & |
| file://:0:0:0:0 | operator= | function __va_list_tag::operator=(const __va_list_tag &) -> __va_list_tag & |
| file://:0:0:0:0 | p#0 | parameter for __va_list_tag::operator=(__va_list_tag &&) -> __va_list_tag & |
| file://:0:0:0:0 | p#0 | parameter for __va_list_tag::operator=(const __va_list_tag &) -> __va_list_tag & |
| file://:0:0:0:0 | y | |

View File

@@ -1,3 +1,7 @@
| (unnamed parameter 0) | __va_list_tag && | rvalue reference to {struct __va_list_tag} |
| (unnamed parameter 0) | atomic_box<int> && | rvalue reference to {struct atomic_box<int>} |
| (unnamed parameter 0) | const __va_list_tag & | reference to {const {struct __va_list_tag}} |
| (unnamed parameter 0) | const atomic_box<int> & | reference to {const {struct atomic_box<int>}} |
| a | _Atomic(int) | atomic {int} |
| b | _Atomic(int) | atomic {int} |
| c | _Atomic(int) * | pointer to {atomic {int}} |
@@ -13,10 +17,6 @@
| k | _Atomic(int) *_Atomic | atomic {pointer to {atomic {int}}} |
| m | int | int |
| overflow_arg_area | void * | pointer to {void} |
| p#0 | __va_list_tag && | rvalue reference to {struct __va_list_tag} |
| p#0 | atomic_box<int> && | rvalue reference to {struct atomic_box<int>} |
| p#0 | const __va_list_tag & | reference to {const {struct __va_list_tag}} |
| p#0 | const atomic_box<int> & | reference to {const {struct atomic_box<int>}} |
| reg_save_area | void * | pointer to {void} |
| value | _Atomic(T) | atomic {T} |
| value | _Atomic(int) | atomic {int} |

View File

@@ -22,11 +22,11 @@
| blocks.cpp:43:29:43:29 | z | file://:0:0:0:0 | char | char |
| blocks.cpp:45:10:45:10 | c | file://:0:0:0:0 | char | char |
| blocks.cpp:55:7:55:10 | four | file://:0:0:0:0 | int | int |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | Example && | rvalue reference to {struct Example} |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | __va_list_tag && | rvalue reference to {struct __va_list_tag} |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const Example & | reference to {const {struct Example}} |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const __va_list_tag & | reference to {const {struct __va_list_tag}} |
| file://:0:0:0:0 | fp_offset | file://:0:0:0:0 | unsigned int | unsigned int |
| file://:0:0:0:0 | gp_offset | file://:0:0:0:0 | unsigned int | unsigned int |
| file://:0:0:0:0 | overflow_arg_area | file://:0:0:0:0 | void * | pointer to {void} |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | Example && | rvalue reference to {struct Example} |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | __va_list_tag && | rvalue reference to {struct __va_list_tag} |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const Example & | reference to {const {struct Example}} |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const __va_list_tag & | reference to {const {struct __va_list_tag}} |
| file://:0:0:0:0 | reg_save_area | file://:0:0:0:0 | void * | pointer to {void} |

View File

@@ -1,5 +1,5 @@
| ODASA-5692.cpp:11:10:11:14 | p#0 | ODASA-5692.cpp:11:18:13:3 | { ... } |
| ODASA-5692.cpp:11:10:11:14 | p#0 | ODASA-5692.cpp:11:18:13:3 | { ... } |
| ODASA-5692.cpp:11:10:11:14 | (unnamed parameter 0) | ODASA-5692.cpp:11:18:13:3 | { ... } |
| ODASA-5692.cpp:11:10:11:14 | (unnamed parameter 0) | ODASA-5692.cpp:11:18:13:3 | { ... } |
| exceptions.cpp:28:20:28:20 | e | exceptions.cpp:28:23:30:9 | { ... } |
| exceptions.cpp:32:16:32:16 | e | exceptions.cpp:32:19:34:5 | { ... } |
| exceptions.cpp:35:16:35:16 | e | exceptions.cpp:35:19:37:5 | { ... } |

View File

@@ -1,7 +1,7 @@
| ODASA-5692.cpp:11:18:13:3 | <handler> | getBlock | ODASA-5692.cpp:11:18:13:3 | { ... } |
| ODASA-5692.cpp:11:18:13:3 | <handler> | getBlock | ODASA-5692.cpp:11:18:13:3 | { ... } |
| ODASA-5692.cpp:11:18:13:3 | <handler> | getParameter | ODASA-5692.cpp:11:10:11:14 | p#0 |
| ODASA-5692.cpp:11:18:13:3 | <handler> | getParameter | ODASA-5692.cpp:11:10:11:14 | p#0 |
| ODASA-5692.cpp:11:18:13:3 | <handler> | getParameter | ODASA-5692.cpp:11:10:11:14 | (unnamed parameter 0) |
| ODASA-5692.cpp:11:18:13:3 | <handler> | getParameter | ODASA-5692.cpp:11:10:11:14 | (unnamed parameter 0) |
| ODASA-5692.cpp:11:18:13:3 | <handler> | getTryStmt | ODASA-5692.cpp:9:3:10:3 | try { ... } |
| ODASA-5692.cpp:11:18:13:3 | <handler> | getTryStmt | ODASA-5692.cpp:9:3:10:3 | try { ... } |
| ODASA-5692.cpp:11:18:13:3 | <handler> | getTryStmt.getACatchClause() | ODASA-5692.cpp:11:18:13:3 | { ... } |

View File

@@ -1,6 +1,6 @@
| c89.c:1:12:1:19 | restrict | restrict |
| c99.c:2:7:2:10 | p#0 | p#0 |
| c99.c:2:23:2:26 | p#1 | p#1 |
| c99.c:2:7:2:10 | (unnamed parameter 0) | (unnamed parameter 0) |
| c99.c:2:23:2:26 | (unnamed parameter 1) | (unnamed parameter 1) |
| file://:0:0:0:0 | fp_offset | fp_offset |
| file://:0:0:0:0 | gp_offset | gp_offset |
| file://:0:0:0:0 | overflow_arg_area | overflow_arg_area |

View File

@@ -27,6 +27,10 @@
| clang_ms.cpp:18:1:18:31 | #pragma |
| file://:0:0:0:0 | |
| file://:0:0:0:0 | (global namespace) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | _Complex __float128 |
| file://:0:0:0:0 | _Complex double |
| file://:0:0:0:0 | _Complex float |
@@ -112,10 +116,6 @@
| file://:0:0:0:0 | optional |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | override |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | private |
| file://:0:0:0:0 | protected |
| file://:0:0:0:0 | public |

View File

@@ -1,5 +1,7 @@
| file://:0:0:0:0 | |
| file://:0:0:0:0 | (global namespace) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | <error expr> |
| file://:0:0:0:0 | <error> |
| file://:0:0:0:0 | There was an error during this compilation |
@@ -84,8 +86,6 @@
| file://:0:0:0:0 | optional |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | override |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | private |
| file://:0:0:0:0 | protected |
| file://:0:0:0:0 | public |

View File

@@ -1,8 +1,8 @@
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | <error> |
| file://:0:0:0:0 | fp_offset |
| file://:0:0:0:0 | gp_offset |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |
| test.cpp:3:12:3:12 | <error> |

View File

@@ -1,8 +1,8 @@
| a-source.cpp:2:6:2:7 | b1 | file://:0:0:0:0 | bool |
| c-source.c:4:6:4:7 | b2 | file://:0:0:0:0 | unsigned char |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | __va_list_tag & |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | __va_list_tag && |
| file://:0:0:0:0 | fp_offset | file://:0:0:0:0 | unsigned int |
| file://:0:0:0:0 | gp_offset | file://:0:0:0:0 | unsigned int |
| file://:0:0:0:0 | overflow_arg_area | file://:0:0:0:0 | void * |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | __va_list_tag & |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | __va_list_tag && |
| file://:0:0:0:0 | reg_save_area | file://:0:0:0:0 | void * |

View File

@@ -1,7 +1,7 @@
| a-source.cpp:2:9:2:9 | s |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | fp_offset |
| file://:0:0:0:0 | gp_offset |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |

View File

@@ -23,7 +23,7 @@
| defaulttainttracking.cpp:22:20:22:25 | call to getenv | shared.h:5:23:5:31 | sinkparam |
| defaulttainttracking.cpp:22:20:22:25 | call to getenv | shared.h:10:38:10:39 | s2 |
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:31:40:31:53 | dotted_address |
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:32:11:32:26 | p#0 |
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:32:11:32:26 | (unnamed parameter 0) |
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:38:11:38:21 | env_pointer |
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:38:25:38:30 | call to getenv |
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:38:25:38:37 | (void *)... |
@@ -32,7 +32,7 @@
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:39:36:39:61 | (const char *)... |
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:39:50:39:61 | & ... |
| defaulttainttracking.cpp:38:25:38:30 | call to getenv | defaulttainttracking.cpp:40:10:40:10 | a |
| defaulttainttracking.cpp:64:10:64:15 | call to getenv | defaulttainttracking.cpp:45:20:45:29 | p#0 |
| defaulttainttracking.cpp:64:10:64:15 | call to getenv | defaulttainttracking.cpp:45:20:45:29 | (unnamed parameter 0) |
| defaulttainttracking.cpp:64:10:64:15 | call to getenv | defaulttainttracking.cpp:52:24:52:24 | p |
| defaulttainttracking.cpp:64:10:64:15 | call to getenv | defaulttainttracking.cpp:57:24:57:24 | p |
| defaulttainttracking.cpp:64:10:64:15 | call to getenv | defaulttainttracking.cpp:58:14:58:14 | p |
@@ -63,7 +63,7 @@
| defaulttainttracking.cpp:69:33:69:38 | call to getenv | defaulttainttracking.cpp:69:33:69:38 | call to getenv |
| defaulttainttracking.cpp:69:33:69:38 | call to getenv | defaulttainttracking.cpp:69:33:69:45 | (const char *)... |
| defaulttainttracking.cpp:69:33:69:38 | call to getenv | shared.h:5:23:5:31 | sinkparam |
| defaulttainttracking.cpp:72:11:72:16 | call to getenv | defaulttainttracking.cpp:45:20:45:29 | p#0 |
| defaulttainttracking.cpp:72:11:72:16 | call to getenv | defaulttainttracking.cpp:45:20:45:29 | (unnamed parameter 0) |
| defaulttainttracking.cpp:72:11:72:16 | call to getenv | defaulttainttracking.cpp:52:24:52:24 | p |
| defaulttainttracking.cpp:72:11:72:16 | call to getenv | defaulttainttracking.cpp:72:11:72:16 | call to getenv |
| defaulttainttracking.cpp:72:11:72:16 | call to getenv | defaulttainttracking.cpp:72:11:72:23 | (const char *)... |
@@ -174,8 +174,8 @@
| globals.cpp:23:15:23:20 | call to getenv | globals.cpp:23:15:23:20 | call to getenv |
| stl.cpp:62:25:62:30 | call to getenv | shared.h:5:23:5:31 | sinkparam |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:21:29:21:29 | s |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:43:78:43:104 | p#0 |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:43:114:43:118 | p#1 |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:43:78:43:104 | (unnamed parameter 0) |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:43:114:43:118 | (unnamed parameter 1) |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:62:25:62:30 | call to getenv |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:64:36:64:36 | s |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:68:8:68:8 | a |
@@ -271,19 +271,19 @@
| test_diff.cpp:104:12:104:15 | argv | test_diff.cpp:104:12:104:15 | argv |
| test_diff.cpp:104:12:104:15 | argv | test_diff.cpp:104:12:104:19 | ... + ... |
| test_diff.cpp:108:10:108:13 | argv | shared.h:5:23:5:31 | sinkparam |
| test_diff.cpp:108:10:108:13 | argv | test_diff.cpp:24:20:24:29 | p#0 |
| test_diff.cpp:108:10:108:13 | argv | test_diff.cpp:24:20:24:29 | (unnamed parameter 0) |
| test_diff.cpp:108:10:108:13 | argv | test_diff.cpp:29:24:29:24 | p |
| test_diff.cpp:108:10:108:13 | argv | test_diff.cpp:30:14:30:14 | p |
| test_diff.cpp:108:10:108:13 | argv | test_diff.cpp:108:10:108:13 | argv |
| test_diff.cpp:108:10:108:13 | argv | test_diff.cpp:108:10:108:16 | (const char *)... |
| test_diff.cpp:108:10:108:13 | argv | test_diff.cpp:108:10:108:16 | access to array |
| test_diff.cpp:111:10:111:13 | argv | test_diff.cpp:24:20:24:29 | p#0 |
| test_diff.cpp:111:10:111:13 | argv | test_diff.cpp:24:20:24:29 | (unnamed parameter 0) |
| test_diff.cpp:111:10:111:13 | argv | test_diff.cpp:36:24:36:24 | p |
| test_diff.cpp:111:10:111:13 | argv | test_diff.cpp:111:10:111:13 | argv |
| test_diff.cpp:111:10:111:13 | argv | test_diff.cpp:111:10:111:16 | (const char *)... |
| test_diff.cpp:111:10:111:13 | argv | test_diff.cpp:111:10:111:16 | access to array |
| test_diff.cpp:115:11:115:14 | argv | shared.h:5:23:5:31 | sinkparam |
| test_diff.cpp:115:11:115:14 | argv | test_diff.cpp:24:20:24:29 | p#0 |
| test_diff.cpp:115:11:115:14 | argv | test_diff.cpp:24:20:24:29 | (unnamed parameter 0) |
| test_diff.cpp:115:11:115:14 | argv | test_diff.cpp:41:24:41:24 | p |
| test_diff.cpp:115:11:115:14 | argv | test_diff.cpp:42:14:42:14 | p |
| test_diff.cpp:115:11:115:14 | argv | test_diff.cpp:52:24:52:24 | p |
@@ -306,7 +306,7 @@
| test_diff.cpp:121:23:121:26 | argv | test_diff.cpp:121:23:121:29 | (const char *)... |
| test_diff.cpp:121:23:121:26 | argv | test_diff.cpp:121:23:121:29 | access to array |
| test_diff.cpp:124:19:124:22 | argv | shared.h:5:23:5:31 | sinkparam |
| test_diff.cpp:124:19:124:22 | argv | test_diff.cpp:24:20:24:29 | p#0 |
| test_diff.cpp:124:19:124:22 | argv | test_diff.cpp:24:20:24:29 | (unnamed parameter 0) |
| test_diff.cpp:124:19:124:22 | argv | test_diff.cpp:76:24:76:24 | p |
| test_diff.cpp:124:19:124:22 | argv | test_diff.cpp:81:24:81:24 | p |
| test_diff.cpp:124:19:124:22 | argv | test_diff.cpp:82:14:82:14 | p |

View File

@@ -38,7 +38,7 @@
| defaulttainttracking.cpp:208:27:208:32 | call to getenv | defaulttainttracking.cpp:208:23:208:23 | x | AST only |
| globals.cpp:13:15:13:20 | call to getenv | globals.cpp:13:5:13:11 | global1 | AST only |
| globals.cpp:23:15:23:20 | call to getenv | globals.cpp:23:5:23:11 | global2 | AST only |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:43:78:43:104 | p#0 | IR only |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:43:78:43:104 | (unnamed parameter 0) | IR only |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:62:7:62:12 | source | AST only |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:64:36:64:36 | s | IR only |
| stl.cpp:62:25:62:30 | call to getenv | stl.cpp:70:16:70:24 | call to basic_string | IR only |

View File

@@ -1,20 +1,20 @@
uniqueEnclosingCallable
uniqueType
uniqueNodeLocation
| BarrierGuard.cpp:2:11:2:13 | p#0 | Node should have one location but has 6. |
| acrossLinkTargets.cpp:2:11:2:13 | p#0 | Node should have one location but has 6. |
| clang.cpp:4:11:4:13 | p#0 | Node should have one location but has 6. |
| clang.cpp:4:27:4:35 | p#0 | Node should have one location but has 2. |
| clang.cpp:4:51:4:53 | p#0 | Node should have one location but has 2. |
| dispatch.cpp:2:11:2:13 | p#0 | Node should have one location but has 6. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| globals.cpp:2:11:2:13 | p#0 | Node should have one location but has 6. |
| test.cpp:2:11:2:13 | p#0 | Node should have one location but has 6. |
| test.cpp:2:27:2:35 | p#0 | Node should have one location but has 2. |
| test.cpp:2:51:2:53 | p#0 | Node should have one location but has 2. |
| BarrierGuard.cpp:2:11:2:13 | (unnamed parameter 0) | Node should have one location but has 6. |
| acrossLinkTargets.cpp:2:11:2:13 | (unnamed parameter 0) | Node should have one location but has 6. |
| clang.cpp:4:11:4:13 | (unnamed parameter 0) | Node should have one location but has 6. |
| clang.cpp:4:27:4:35 | (unnamed parameter 0) | Node should have one location but has 2. |
| clang.cpp:4:51:4:53 | (unnamed parameter 0) | Node should have one location but has 2. |
| dispatch.cpp:2:11:2:13 | (unnamed parameter 0) | Node should have one location but has 6. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| globals.cpp:2:11:2:13 | (unnamed parameter 0) | Node should have one location but has 6. |
| test.cpp:2:11:2:13 | (unnamed parameter 0) | Node should have one location but has 6. |
| test.cpp:2:27:2:35 | (unnamed parameter 0) | Node should have one location but has 2. |
| test.cpp:2:51:2:53 | (unnamed parameter 0) | Node should have one location but has 2. |
missingLocation
| Nodes without location: 4 |
uniqueNodeToString

View File

@@ -39,17 +39,8 @@ void sink(int x)
void bar(Outer &b)
{
// The library correctly finds that the four `user_input` sources can make it
// to the `sink` calls, but it also finds some source/sink combinations that
// are impossible. Those false positives here are a consequence of how the
// shared data flow library overapproximates field flow. The library only
// tracks the final two fields (`f` and `inner`) and the length (3) of the field
// access path, and then it tracks that both `a_` and `b_` have followed `f.inner`
// in _some_ access path somewhere in the search. That makes the library conclude
// that there could be flow to `b.inner.f.a_` even when the flow was actually to
// `b.inner.f.b_`.
sink(b.inner.f.a()); // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19
sink(b.inner.f.b()); // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19
sink(b.inner.f.a()); // $ast=53:19 $ast=55:19 $ir=53:19 $ir=55:19
sink(b.inner.f.b()); // $ast=54:19 $ast=56:19 $ir=54:19 $ir=56:19
}
void foo()

View File

@@ -1,10 +1,10 @@
uniqueEnclosingCallable
uniqueType
uniqueNodeLocation
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
missingLocation
| Nodes without location: 4 |
uniqueNodeToString

View File

@@ -34,10 +34,6 @@
| by_reference.cpp:84:14:84:23 | call to user_input | by_reference.cpp:115:27:115:27 | a | AST only |
| by_reference.cpp:88:13:88:22 | call to user_input | by_reference.cpp:131:25:131:25 | a | AST only |
| by_reference.cpp:88:13:88:22 | call to user_input | by_reference.cpp:135:27:135:27 | a | AST only |
| complex.cpp:62:19:62:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | AST only |
| complex.cpp:63:19:63:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | AST only |
| complex.cpp:64:19:64:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | AST only |
| complex.cpp:65:19:65:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | AST only |
| qualifiers.cpp:22:27:22:36 | call to user_input | qualifiers.cpp:23:23:23:23 | a | AST only |
| qualifiers.cpp:27:28:27:37 | call to user_input | qualifiers.cpp:28:23:28:23 | a | AST only |
| qualifiers.cpp:32:35:32:44 | call to user_input | qualifiers.cpp:33:23:33:23 | a | AST only |

View File

@@ -1,4 +0,0 @@
| complex.cpp:51:24:51:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Fixed false positive:ir=63:19 |
| complex.cpp:51:24:51:121 | // $ast=62:19 $f+:ast=63:19 $ast=64:19 $f+:ast=65:19 $ir=62:19 $f+:ir=63:19 $ir=64:19 $f+:ir=65:19 | Fixed false positive:ir=65:19 |
| complex.cpp:52:24:52:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Fixed false positive:ir=62:19 |
| complex.cpp:52:24:52:121 | // $f+:ast=62:19 $ast=63:19 $f+:ast=64:19 $ast=65:19 $f+:ir=62:19 $ir=63:19 $f+:ir=64:19 $ir=65:19 | Fixed false positive:ir=64:19 |

View File

@@ -140,20 +140,20 @@ edges
| by_reference.cpp:128:15:128:23 | Chi | by_reference.cpp:128:15:128:23 | Chi [a] |
| by_reference.cpp:128:15:128:23 | Chi [a] | by_reference.cpp:136:16:136:16 | a |
| by_reference.cpp:128:15:128:23 | taint_a_ref output argument [array content] | by_reference.cpp:128:15:128:23 | Chi |
| complex.cpp:40:17:40:17 | *b [a_] | complex.cpp:51:18:51:18 | call to a |
| complex.cpp:40:17:40:17 | *b [b_] | complex.cpp:51:16:51:16 | a output argument [b_] |
| complex.cpp:40:17:40:17 | *b [b_] | complex.cpp:52:18:52:18 | call to b |
| complex.cpp:51:16:51:16 | a output argument [b_] | complex.cpp:52:18:52:18 | call to b |
| complex.cpp:62:12:62:12 | setA output argument [a_] | complex.cpp:40:17:40:17 | *b [a_] |
| complex.cpp:62:19:62:28 | call to user_input | complex.cpp:62:12:62:12 | setA output argument [a_] |
| complex.cpp:63:12:63:12 | setB output argument [b_] | complex.cpp:40:17:40:17 | *b [b_] |
| complex.cpp:63:19:63:28 | call to user_input | complex.cpp:63:12:63:12 | setB output argument [b_] |
| complex.cpp:64:12:64:12 | setA output argument [a_] | complex.cpp:40:17:40:17 | *b [a_] |
| complex.cpp:64:12:64:12 | setA output argument [a_] | complex.cpp:65:12:65:12 | setB output argument [a_] |
| complex.cpp:64:19:64:28 | call to user_input | complex.cpp:64:12:64:12 | setA output argument [a_] |
| complex.cpp:65:12:65:12 | setB output argument [a_] | complex.cpp:40:17:40:17 | *b [a_] |
| complex.cpp:65:12:65:12 | setB output argument [b_] | complex.cpp:40:17:40:17 | *b [b_] |
| complex.cpp:65:19:65:28 | call to user_input | complex.cpp:65:12:65:12 | setB output argument [b_] |
| complex.cpp:40:17:40:17 | *b [a_] | complex.cpp:42:18:42:18 | call to a |
| complex.cpp:40:17:40:17 | *b [b_] | complex.cpp:42:16:42:16 | a output argument [b_] |
| complex.cpp:40:17:40:17 | *b [b_] | complex.cpp:43:18:43:18 | call to b |
| complex.cpp:42:16:42:16 | a output argument [b_] | complex.cpp:43:18:43:18 | call to b |
| complex.cpp:53:12:53:12 | setA output argument [a_] | complex.cpp:40:17:40:17 | *b [a_] |
| complex.cpp:53:19:53:28 | call to user_input | complex.cpp:53:12:53:12 | setA output argument [a_] |
| complex.cpp:54:12:54:12 | setB output argument [b_] | complex.cpp:40:17:40:17 | *b [b_] |
| complex.cpp:54:19:54:28 | call to user_input | complex.cpp:54:12:54:12 | setB output argument [b_] |
| complex.cpp:55:12:55:12 | setA output argument [a_] | complex.cpp:40:17:40:17 | *b [a_] |
| complex.cpp:55:12:55:12 | setA output argument [a_] | complex.cpp:56:12:56:12 | setB output argument [a_] |
| complex.cpp:55:19:55:28 | call to user_input | complex.cpp:55:12:55:12 | setA output argument [a_] |
| complex.cpp:56:12:56:12 | setB output argument [a_] | complex.cpp:40:17:40:17 | *b [a_] |
| complex.cpp:56:12:56:12 | setB output argument [b_] | complex.cpp:40:17:40:17 | *b [b_] |
| complex.cpp:56:19:56:28 | call to user_input | complex.cpp:56:12:56:12 | setB output argument [b_] |
| constructors.cpp:26:15:26:15 | *f [a_] | constructors.cpp:28:12:28:12 | call to a |
| constructors.cpp:26:15:26:15 | *f [b_] | constructors.cpp:28:10:28:10 | a output argument [b_] |
| constructors.cpp:26:15:26:15 | *f [b_] | constructors.cpp:29:12:29:12 | call to b |
@@ -371,18 +371,18 @@ nodes
| by_reference.cpp:136:16:136:16 | a | semmle.label | a |
| complex.cpp:40:17:40:17 | *b [a_] | semmle.label | *b [a_] |
| complex.cpp:40:17:40:17 | *b [b_] | semmle.label | *b [b_] |
| complex.cpp:51:16:51:16 | a output argument [b_] | semmle.label | a output argument [b_] |
| complex.cpp:51:18:51:18 | call to a | semmle.label | call to a |
| complex.cpp:52:18:52:18 | call to b | semmle.label | call to b |
| complex.cpp:62:12:62:12 | setA output argument [a_] | semmle.label | setA output argument [a_] |
| complex.cpp:62:19:62:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:63:12:63:12 | setB output argument [b_] | semmle.label | setB output argument [b_] |
| complex.cpp:63:19:63:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:64:12:64:12 | setA output argument [a_] | semmle.label | setA output argument [a_] |
| complex.cpp:64:19:64:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:65:12:65:12 | setB output argument [a_] | semmle.label | setB output argument [a_] |
| complex.cpp:65:12:65:12 | setB output argument [b_] | semmle.label | setB output argument [b_] |
| complex.cpp:65:19:65:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:42:16:42:16 | a output argument [b_] | semmle.label | a output argument [b_] |
| complex.cpp:42:18:42:18 | call to a | semmle.label | call to a |
| complex.cpp:43:18:43:18 | call to b | semmle.label | call to b |
| complex.cpp:53:12:53:12 | setA output argument [a_] | semmle.label | setA output argument [a_] |
| complex.cpp:53:19:53:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:54:12:54:12 | setB output argument [b_] | semmle.label | setB output argument [b_] |
| complex.cpp:54:19:54:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:55:12:55:12 | setA output argument [a_] | semmle.label | setA output argument [a_] |
| complex.cpp:55:19:55:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:56:12:56:12 | setB output argument [a_] | semmle.label | setB output argument [a_] |
| complex.cpp:56:12:56:12 | setB output argument [b_] | semmle.label | setB output argument [b_] |
| complex.cpp:56:19:56:28 | call to user_input | semmle.label | call to user_input |
| constructors.cpp:26:15:26:15 | *f [a_] | semmle.label | *f [a_] |
| constructors.cpp:26:15:26:15 | *f [b_] | semmle.label | *f [b_] |
| constructors.cpp:28:10:28:10 | a output argument [b_] | semmle.label | a output argument [b_] |
@@ -478,10 +478,10 @@ nodes
| by_reference.cpp:132:14:132:14 | a | by_reference.cpp:96:8:96:17 | call to user_input | by_reference.cpp:132:14:132:14 | a | a flows from $@ | by_reference.cpp:96:8:96:17 | call to user_input | call to user_input |
| by_reference.cpp:134:29:134:29 | a | by_reference.cpp:88:13:88:22 | call to user_input | by_reference.cpp:134:29:134:29 | a | a flows from $@ | by_reference.cpp:88:13:88:22 | call to user_input | call to user_input |
| by_reference.cpp:136:16:136:16 | a | by_reference.cpp:96:8:96:17 | call to user_input | by_reference.cpp:136:16:136:16 | a | a flows from $@ | by_reference.cpp:96:8:96:17 | call to user_input | call to user_input |
| complex.cpp:51:18:51:18 | call to a | complex.cpp:62:19:62:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | call to a flows from $@ | complex.cpp:62:19:62:28 | call to user_input | call to user_input |
| complex.cpp:51:18:51:18 | call to a | complex.cpp:64:19:64:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | call to a flows from $@ | complex.cpp:64:19:64:28 | call to user_input | call to user_input |
| complex.cpp:52:18:52:18 | call to b | complex.cpp:63:19:63:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | call to b flows from $@ | complex.cpp:63:19:63:28 | call to user_input | call to user_input |
| complex.cpp:52:18:52:18 | call to b | complex.cpp:65:19:65:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | call to b flows from $@ | complex.cpp:65:19:65:28 | call to user_input | call to user_input |
| complex.cpp:42:18:42:18 | call to a | complex.cpp:53:19:53:28 | call to user_input | complex.cpp:42:18:42:18 | call to a | call to a flows from $@ | complex.cpp:53:19:53:28 | call to user_input | call to user_input |
| complex.cpp:42:18:42:18 | call to a | complex.cpp:55:19:55:28 | call to user_input | complex.cpp:42:18:42:18 | call to a | call to a flows from $@ | complex.cpp:55:19:55:28 | call to user_input | call to user_input |
| complex.cpp:43:18:43:18 | call to b | complex.cpp:54:19:54:28 | call to user_input | complex.cpp:43:18:43:18 | call to b | call to b flows from $@ | complex.cpp:54:19:54:28 | call to user_input | call to user_input |
| complex.cpp:43:18:43:18 | call to b | complex.cpp:56:19:56:28 | call to user_input | complex.cpp:43:18:43:18 | call to b | call to b flows from $@ | complex.cpp:56:19:56:28 | call to user_input | call to user_input |
| constructors.cpp:28:12:28:12 | call to a | constructors.cpp:34:11:34:20 | call to user_input | constructors.cpp:28:12:28:12 | call to a | call to a flows from $@ | constructors.cpp:34:11:34:20 | call to user_input | call to user_input |
| constructors.cpp:28:12:28:12 | call to a | constructors.cpp:36:11:36:20 | call to user_input | constructors.cpp:28:12:28:12 | call to a | call to a flows from $@ | constructors.cpp:36:11:36:20 | call to user_input | call to user_input |
| constructors.cpp:29:12:29:12 | call to b | constructors.cpp:35:14:35:23 | call to user_input | constructors.cpp:29:12:29:12 | call to b | call to b flows from $@ | constructors.cpp:35:14:35:23 | call to user_input | call to user_input |

View File

@@ -293,28 +293,28 @@
| by_reference.cpp:136:16:136:16 | a | AST only |
| complex.cpp:11:22:11:23 | a_ | AST only |
| complex.cpp:12:22:12:23 | b_ | AST only |
| complex.cpp:51:8:51:8 | b | AST only |
| complex.cpp:51:10:51:14 | inner | AST only |
| complex.cpp:51:16:51:16 | f | AST only |
| complex.cpp:52:8:52:8 | b | AST only |
| complex.cpp:52:10:52:14 | inner | AST only |
| complex.cpp:52:16:52:16 | f | AST only |
| complex.cpp:62:3:62:4 | b1 | AST only |
| complex.cpp:62:6:62:10 | inner | AST only |
| complex.cpp:62:12:62:12 | f | AST only |
| complex.cpp:63:3:63:4 | b2 | AST only |
| complex.cpp:63:6:63:10 | inner | AST only |
| complex.cpp:63:12:63:12 | f | AST only |
| complex.cpp:64:3:64:4 | b3 | AST only |
| complex.cpp:64:6:64:10 | inner | AST only |
| complex.cpp:64:12:64:12 | f | AST only |
| complex.cpp:65:3:65:4 | b3 | AST only |
| complex.cpp:65:6:65:10 | inner | AST only |
| complex.cpp:65:12:65:12 | f | AST only |
| complex.cpp:68:7:68:8 | b1 | AST only |
| complex.cpp:71:7:71:8 | b2 | AST only |
| complex.cpp:74:7:74:8 | b3 | AST only |
| complex.cpp:77:7:77:8 | b4 | AST only |
| complex.cpp:42:8:42:8 | b | AST only |
| complex.cpp:42:10:42:14 | inner | AST only |
| complex.cpp:42:16:42:16 | f | AST only |
| complex.cpp:43:8:43:8 | b | AST only |
| complex.cpp:43:10:43:14 | inner | AST only |
| complex.cpp:43:16:43:16 | f | AST only |
| complex.cpp:53:3:53:4 | b1 | AST only |
| complex.cpp:53:6:53:10 | inner | AST only |
| complex.cpp:53:12:53:12 | f | AST only |
| complex.cpp:54:3:54:4 | b2 | AST only |
| complex.cpp:54:6:54:10 | inner | AST only |
| complex.cpp:54:12:54:12 | f | AST only |
| complex.cpp:55:3:55:4 | b3 | AST only |
| complex.cpp:55:6:55:10 | inner | AST only |
| complex.cpp:55:12:55:12 | f | AST only |
| complex.cpp:56:3:56:4 | b3 | AST only |
| complex.cpp:56:6:56:10 | inner | AST only |
| complex.cpp:56:12:56:12 | f | AST only |
| complex.cpp:59:7:59:8 | b1 | AST only |
| complex.cpp:62:7:62:8 | b2 | AST only |
| complex.cpp:65:7:65:8 | b3 | AST only |
| complex.cpp:68:7:68:8 | b4 | AST only |
| constructors.cpp:20:24:20:25 | a_ | AST only |
| constructors.cpp:21:24:21:25 | b_ | AST only |
| constructors.cpp:28:10:28:10 | f | AST only |

View File

@@ -344,28 +344,28 @@
| complex.cpp:11:22:11:23 | this |
| complex.cpp:12:22:12:23 | b_ |
| complex.cpp:12:22:12:23 | this |
| complex.cpp:51:8:51:8 | b |
| complex.cpp:51:10:51:14 | inner |
| complex.cpp:51:16:51:16 | f |
| complex.cpp:52:8:52:8 | b |
| complex.cpp:52:10:52:14 | inner |
| complex.cpp:52:16:52:16 | f |
| complex.cpp:62:3:62:4 | b1 |
| complex.cpp:62:6:62:10 | inner |
| complex.cpp:62:12:62:12 | f |
| complex.cpp:63:3:63:4 | b2 |
| complex.cpp:63:6:63:10 | inner |
| complex.cpp:63:12:63:12 | f |
| complex.cpp:64:3:64:4 | b3 |
| complex.cpp:64:6:64:10 | inner |
| complex.cpp:64:12:64:12 | f |
| complex.cpp:65:3:65:4 | b3 |
| complex.cpp:65:6:65:10 | inner |
| complex.cpp:65:12:65:12 | f |
| complex.cpp:68:7:68:8 | b1 |
| complex.cpp:71:7:71:8 | b2 |
| complex.cpp:74:7:74:8 | b3 |
| complex.cpp:77:7:77:8 | b4 |
| complex.cpp:42:8:42:8 | b |
| complex.cpp:42:10:42:14 | inner |
| complex.cpp:42:16:42:16 | f |
| complex.cpp:43:8:43:8 | b |
| complex.cpp:43:10:43:14 | inner |
| complex.cpp:43:16:43:16 | f |
| complex.cpp:53:3:53:4 | b1 |
| complex.cpp:53:6:53:10 | inner |
| complex.cpp:53:12:53:12 | f |
| complex.cpp:54:3:54:4 | b2 |
| complex.cpp:54:6:54:10 | inner |
| complex.cpp:54:12:54:12 | f |
| complex.cpp:55:3:55:4 | b3 |
| complex.cpp:55:6:55:10 | inner |
| complex.cpp:55:12:55:12 | f |
| complex.cpp:56:3:56:4 | b3 |
| complex.cpp:56:6:56:10 | inner |
| complex.cpp:56:12:56:12 | f |
| complex.cpp:59:7:59:8 | b1 |
| complex.cpp:62:7:62:8 | b2 |
| complex.cpp:65:7:65:8 | b3 |
| complex.cpp:68:7:68:8 | b4 |
| constructors.cpp:20:24:20:25 | a_ |
| constructors.cpp:20:24:20:25 | this |
| constructors.cpp:21:24:21:25 | b_ |

View File

@@ -51,14 +51,14 @@ edges
| A.cpp:160:29:160:29 | b | A.cpp:160:18:160:60 | call to MyList [head] |
| A.cpp:161:18:161:40 | call to MyList [next, head] | A.cpp:162:38:162:39 | l2 [next, head] |
| A.cpp:161:38:161:39 | l1 [head] | A.cpp:161:18:161:40 | call to MyList [next, head] |
| A.cpp:162:18:162:40 | call to MyList [next, next, ... (3)] | A.cpp:165:10:165:11 | l3 [next, next, ... (3)] |
| A.cpp:162:18:162:40 | call to MyList [next, next, ... (3)] | A.cpp:167:44:167:44 | l [next, next, ... (3)] |
| A.cpp:162:38:162:39 | l2 [next, head] | A.cpp:162:18:162:40 | call to MyList [next, next, ... (3)] |
| A.cpp:165:10:165:11 | l3 [next, next, ... (3)] | A.cpp:165:14:165:17 | next [next, head] |
| A.cpp:162:18:162:40 | call to MyList [next, next, head] | A.cpp:165:10:165:11 | l3 [next, next, head] |
| A.cpp:162:18:162:40 | call to MyList [next, next, head] | A.cpp:167:44:167:44 | l [next, next, head] |
| A.cpp:162:38:162:39 | l2 [next, head] | A.cpp:162:18:162:40 | call to MyList [next, next, head] |
| A.cpp:165:10:165:11 | l3 [next, next, head] | A.cpp:165:14:165:17 | next [next, head] |
| A.cpp:165:14:165:17 | next [next, head] | A.cpp:165:20:165:23 | next [head] |
| A.cpp:165:20:165:23 | next [head] | A.cpp:165:26:165:29 | head |
| A.cpp:167:44:167:44 | l [next, head] | A.cpp:167:47:167:50 | next [head] |
| A.cpp:167:44:167:44 | l [next, next, ... (3)] | A.cpp:167:47:167:50 | next [next, head] |
| A.cpp:167:44:167:44 | l [next, next, head] | A.cpp:167:47:167:50 | next [next, head] |
| A.cpp:167:47:167:50 | next [head] | A.cpp:169:12:169:12 | l [head] |
| A.cpp:167:47:167:50 | next [next, head] | A.cpp:167:44:167:44 | l [next, head] |
| A.cpp:169:12:169:12 | l [head] | A.cpp:169:15:169:18 | head |
@@ -113,14 +113,14 @@ edges
| D.cpp:51:27:51:27 | e | D.cpp:51:8:51:14 | ref arg call to getBox1 [elem] |
| D.cpp:52:14:52:14 | b [box, elem] | D.cpp:21:30:21:31 | b2 [box, elem] |
| D.cpp:56:15:56:24 | new | D.cpp:58:5:58:27 | ... = ... |
| D.cpp:58:5:58:12 | boxfield [post update] [box, elem] | D.cpp:58:5:58:12 | this [post update] [boxfield, box, ... (3)] |
| D.cpp:58:5:58:12 | this [post update] [boxfield, box, ... (3)] | D.cpp:59:5:59:7 | this [boxfield, box, ... (3)] |
| D.cpp:58:5:58:12 | boxfield [post update] [box, elem] | D.cpp:58:5:58:12 | this [post update] [boxfield, box, elem] |
| D.cpp:58:5:58:12 | this [post update] [boxfield, box, elem] | D.cpp:59:5:59:7 | this [boxfield, box, elem] |
| D.cpp:58:5:58:27 | ... = ... | D.cpp:58:15:58:17 | box [post update] [elem] |
| D.cpp:58:15:58:17 | box [post update] [elem] | D.cpp:58:5:58:12 | boxfield [post update] [box, elem] |
| D.cpp:59:5:59:7 | this [boxfield, box, ... (3)] | D.cpp:63:8:63:10 | this [boxfield, box, ... (3)] |
| D.cpp:63:8:63:10 | this [boxfield, box, ... (3)] | D.cpp:64:10:64:17 | this [boxfield, box, ... (3)] |
| D.cpp:59:5:59:7 | this [boxfield, box, elem] | D.cpp:63:8:63:10 | this [boxfield, box, elem] |
| D.cpp:63:8:63:10 | this [boxfield, box, elem] | D.cpp:64:10:64:17 | this [boxfield, box, elem] |
| D.cpp:64:10:64:17 | boxfield [box, elem] | D.cpp:64:20:64:22 | box [elem] |
| D.cpp:64:10:64:17 | this [boxfield, box, ... (3)] | D.cpp:64:10:64:17 | boxfield [box, elem] |
| D.cpp:64:10:64:17 | this [boxfield, box, elem] | D.cpp:64:10:64:17 | boxfield [box, elem] |
| D.cpp:64:20:64:22 | box [elem] | D.cpp:64:25:64:28 | elem |
| E.cpp:19:27:19:27 | p [data, buffer] | E.cpp:21:10:21:10 | p [data, buffer] |
| E.cpp:21:10:21:10 | p [data, buffer] | E.cpp:21:13:21:16 | data [buffer] |
@@ -193,33 +193,33 @@ edges
| arrays.cpp:6:12:6:21 | call to user_input | arrays.cpp:10:8:10:15 | * ... |
| arrays.cpp:15:14:15:23 | call to user_input | arrays.cpp:16:8:16:13 | access to array |
| arrays.cpp:15:14:15:23 | call to user_input | arrays.cpp:17:8:17:13 | access to array |
| arrays.cpp:36:3:36:3 | o [post update] [nested, arr, ... (3)] | arrays.cpp:37:8:37:8 | o [nested, arr, ... (3)] |
| arrays.cpp:36:3:36:3 | o [post update] [nested, arr, ... (3)] | arrays.cpp:38:8:38:8 | o [nested, arr, ... (3)] |
| arrays.cpp:36:3:36:3 | o [post update] [nested, arr, data] | arrays.cpp:37:8:37:8 | o [nested, arr, data] |
| arrays.cpp:36:3:36:3 | o [post update] [nested, arr, data] | arrays.cpp:38:8:38:8 | o [nested, arr, data] |
| arrays.cpp:36:3:36:17 | access to array [post update] [data] | arrays.cpp:36:12:36:14 | arr [inner post update] [data] |
| arrays.cpp:36:3:36:37 | ... = ... | arrays.cpp:36:3:36:17 | access to array [post update] [data] |
| arrays.cpp:36:5:36:10 | nested [post update] [arr, data] | arrays.cpp:36:3:36:3 | o [post update] [nested, arr, ... (3)] |
| arrays.cpp:36:5:36:10 | nested [post update] [arr, data] | arrays.cpp:36:3:36:3 | o [post update] [nested, arr, data] |
| arrays.cpp:36:12:36:14 | arr [inner post update] [data] | arrays.cpp:36:5:36:10 | nested [post update] [arr, data] |
| arrays.cpp:36:26:36:35 | call to user_input | arrays.cpp:36:3:36:37 | ... = ... |
| arrays.cpp:37:8:37:8 | o [nested, arr, ... (3)] | arrays.cpp:37:10:37:15 | nested [arr, data] |
| arrays.cpp:37:8:37:8 | o [nested, arr, data] | arrays.cpp:37:10:37:15 | nested [arr, data] |
| arrays.cpp:37:8:37:22 | access to array [data] | arrays.cpp:37:24:37:27 | data |
| arrays.cpp:37:10:37:15 | nested [arr, data] | arrays.cpp:37:17:37:19 | arr [data] |
| arrays.cpp:37:17:37:19 | arr [data] | arrays.cpp:37:8:37:22 | access to array [data] |
| arrays.cpp:38:8:38:8 | o [nested, arr, ... (3)] | arrays.cpp:38:10:38:15 | nested [arr, data] |
| arrays.cpp:38:8:38:8 | o [nested, arr, data] | arrays.cpp:38:10:38:15 | nested [arr, data] |
| arrays.cpp:38:8:38:22 | access to array [data] | arrays.cpp:38:24:38:27 | data |
| arrays.cpp:38:10:38:15 | nested [arr, data] | arrays.cpp:38:17:38:19 | arr [data] |
| arrays.cpp:38:17:38:19 | arr [data] | arrays.cpp:38:8:38:22 | access to array [data] |
| arrays.cpp:42:3:42:3 | o [post update] [indirect, arr, ... (3)] | arrays.cpp:43:8:43:8 | o [indirect, arr, ... (3)] |
| arrays.cpp:42:3:42:3 | o [post update] [indirect, arr, ... (3)] | arrays.cpp:44:8:44:8 | o [indirect, arr, ... (3)] |
| arrays.cpp:42:3:42:3 | o [post update] [indirect, arr, data] | arrays.cpp:43:8:43:8 | o [indirect, arr, data] |
| arrays.cpp:42:3:42:3 | o [post update] [indirect, arr, data] | arrays.cpp:44:8:44:8 | o [indirect, arr, data] |
| arrays.cpp:42:3:42:20 | access to array [post update] [data] | arrays.cpp:42:15:42:17 | arr [inner post update] [data] |
| arrays.cpp:42:3:42:40 | ... = ... | arrays.cpp:42:3:42:20 | access to array [post update] [data] |
| arrays.cpp:42:5:42:12 | indirect [post update] [arr, data] | arrays.cpp:42:3:42:3 | o [post update] [indirect, arr, ... (3)] |
| arrays.cpp:42:5:42:12 | indirect [post update] [arr, data] | arrays.cpp:42:3:42:3 | o [post update] [indirect, arr, data] |
| arrays.cpp:42:15:42:17 | arr [inner post update] [data] | arrays.cpp:42:5:42:12 | indirect [post update] [arr, data] |
| arrays.cpp:42:29:42:38 | call to user_input | arrays.cpp:42:3:42:40 | ... = ... |
| arrays.cpp:43:8:43:8 | o [indirect, arr, ... (3)] | arrays.cpp:43:10:43:17 | indirect [arr, data] |
| arrays.cpp:43:8:43:8 | o [indirect, arr, data] | arrays.cpp:43:10:43:17 | indirect [arr, data] |
| arrays.cpp:43:8:43:25 | access to array [data] | arrays.cpp:43:27:43:30 | data |
| arrays.cpp:43:10:43:17 | indirect [arr, data] | arrays.cpp:43:20:43:22 | arr [data] |
| arrays.cpp:43:20:43:22 | arr [data] | arrays.cpp:43:8:43:25 | access to array [data] |
| arrays.cpp:44:8:44:8 | o [indirect, arr, ... (3)] | arrays.cpp:44:10:44:17 | indirect [arr, data] |
| arrays.cpp:44:8:44:8 | o [indirect, arr, data] | arrays.cpp:44:10:44:17 | indirect [arr, data] |
| arrays.cpp:44:8:44:25 | access to array [data] | arrays.cpp:44:27:44:30 | data |
| arrays.cpp:44:10:44:17 | indirect [arr, data] | arrays.cpp:44:20:44:22 | arr [data] |
| arrays.cpp:44:20:44:22 | arr [data] | arrays.cpp:44:8:44:25 | access to array [data] |
@@ -308,33 +308,34 @@ edges
| by_reference.cpp:135:8:135:13 | pouter [inner_ptr, a] | by_reference.cpp:135:16:135:24 | inner_ptr [a] |
| by_reference.cpp:135:16:135:24 | inner_ptr [a] | by_reference.cpp:135:27:135:27 | a |
| by_reference.cpp:136:8:136:13 | pouter [a] | by_reference.cpp:136:16:136:16 | a |
| complex.cpp:40:17:40:17 | b [inner, f, ... (3)] | complex.cpp:51:8:51:8 | b [inner, f, ... (3)] |
| complex.cpp:40:17:40:17 | b [inner, f, ... (3)] | complex.cpp:52:8:52:8 | b [inner, f, ... (3)] |
| complex.cpp:51:8:51:8 | b [inner, f, ... (3)] | complex.cpp:51:10:51:14 | inner [f, a_] |
| complex.cpp:51:10:51:14 | inner [f, a_] | complex.cpp:51:16:51:16 | f [a_] |
| complex.cpp:51:16:51:16 | f [a_] | complex.cpp:51:18:51:18 | call to a |
| complex.cpp:52:8:52:8 | b [inner, f, ... (3)] | complex.cpp:52:10:52:14 | inner [f, b_] |
| complex.cpp:52:10:52:14 | inner [f, b_] | complex.cpp:52:16:52:16 | f [b_] |
| complex.cpp:52:16:52:16 | f [b_] | complex.cpp:52:18:52:18 | call to b |
| complex.cpp:62:3:62:4 | b1 [post update] [inner, f, ... (3)] | complex.cpp:68:7:68:8 | b1 [inner, f, ... (3)] |
| complex.cpp:62:6:62:10 | inner [post update] [f, a_] | complex.cpp:62:3:62:4 | b1 [post update] [inner, f, ... (3)] |
| complex.cpp:62:12:62:12 | ref arg f [a_] | complex.cpp:62:6:62:10 | inner [post update] [f, a_] |
| complex.cpp:62:19:62:28 | call to user_input | complex.cpp:62:12:62:12 | ref arg f [a_] |
| complex.cpp:63:3:63:4 | b2 [post update] [inner, f, ... (3)] | complex.cpp:71:7:71:8 | b2 [inner, f, ... (3)] |
| complex.cpp:63:6:63:10 | inner [post update] [f, b_] | complex.cpp:63:3:63:4 | b2 [post update] [inner, f, ... (3)] |
| complex.cpp:63:12:63:12 | ref arg f [b_] | complex.cpp:63:6:63:10 | inner [post update] [f, b_] |
| complex.cpp:63:19:63:28 | call to user_input | complex.cpp:63:12:63:12 | ref arg f [b_] |
| complex.cpp:64:3:64:4 | b3 [post update] [inner, f, ... (3)] | complex.cpp:74:7:74:8 | b3 [inner, f, ... (3)] |
| complex.cpp:64:6:64:10 | inner [post update] [f, a_] | complex.cpp:64:3:64:4 | b3 [post update] [inner, f, ... (3)] |
| complex.cpp:64:12:64:12 | ref arg f [a_] | complex.cpp:64:6:64:10 | inner [post update] [f, a_] |
| complex.cpp:64:19:64:28 | call to user_input | complex.cpp:64:12:64:12 | ref arg f [a_] |
| complex.cpp:65:3:65:4 | b3 [post update] [inner, f, ... (3)] | complex.cpp:74:7:74:8 | b3 [inner, f, ... (3)] |
| complex.cpp:65:6:65:10 | inner [post update] [f, b_] | complex.cpp:65:3:65:4 | b3 [post update] [inner, f, ... (3)] |
| complex.cpp:65:12:65:12 | ref arg f [b_] | complex.cpp:65:6:65:10 | inner [post update] [f, b_] |
| complex.cpp:65:19:65:28 | call to user_input | complex.cpp:65:12:65:12 | ref arg f [b_] |
| complex.cpp:68:7:68:8 | b1 [inner, f, ... (3)] | complex.cpp:40:17:40:17 | b [inner, f, ... (3)] |
| complex.cpp:71:7:71:8 | b2 [inner, f, ... (3)] | complex.cpp:40:17:40:17 | b [inner, f, ... (3)] |
| complex.cpp:74:7:74:8 | b3 [inner, f, ... (3)] | complex.cpp:40:17:40:17 | b [inner, f, ... (3)] |
| complex.cpp:40:17:40:17 | b [inner, f, a_] | complex.cpp:42:8:42:8 | b [inner, f, a_] |
| complex.cpp:40:17:40:17 | b [inner, f, b_] | complex.cpp:43:8:43:8 | b [inner, f, b_] |
| complex.cpp:42:8:42:8 | b [inner, f, a_] | complex.cpp:42:10:42:14 | inner [f, a_] |
| complex.cpp:42:10:42:14 | inner [f, a_] | complex.cpp:42:16:42:16 | f [a_] |
| complex.cpp:42:16:42:16 | f [a_] | complex.cpp:42:18:42:18 | call to a |
| complex.cpp:43:8:43:8 | b [inner, f, b_] | complex.cpp:43:10:43:14 | inner [f, b_] |
| complex.cpp:43:10:43:14 | inner [f, b_] | complex.cpp:43:16:43:16 | f [b_] |
| complex.cpp:43:16:43:16 | f [b_] | complex.cpp:43:18:43:18 | call to b |
| complex.cpp:53:3:53:4 | b1 [post update] [inner, f, a_] | complex.cpp:59:7:59:8 | b1 [inner, f, a_] |
| complex.cpp:53:6:53:10 | inner [post update] [f, a_] | complex.cpp:53:3:53:4 | b1 [post update] [inner, f, a_] |
| complex.cpp:53:12:53:12 | ref arg f [a_] | complex.cpp:53:6:53:10 | inner [post update] [f, a_] |
| complex.cpp:53:19:53:28 | call to user_input | complex.cpp:53:12:53:12 | ref arg f [a_] |
| complex.cpp:54:3:54:4 | b2 [post update] [inner, f, b_] | complex.cpp:62:7:62:8 | b2 [inner, f, b_] |
| complex.cpp:54:6:54:10 | inner [post update] [f, b_] | complex.cpp:54:3:54:4 | b2 [post update] [inner, f, b_] |
| complex.cpp:54:12:54:12 | ref arg f [b_] | complex.cpp:54:6:54:10 | inner [post update] [f, b_] |
| complex.cpp:54:19:54:28 | call to user_input | complex.cpp:54:12:54:12 | ref arg f [b_] |
| complex.cpp:55:3:55:4 | b3 [post update] [inner, f, a_] | complex.cpp:65:7:65:8 | b3 [inner, f, a_] |
| complex.cpp:55:6:55:10 | inner [post update] [f, a_] | complex.cpp:55:3:55:4 | b3 [post update] [inner, f, a_] |
| complex.cpp:55:12:55:12 | ref arg f [a_] | complex.cpp:55:6:55:10 | inner [post update] [f, a_] |
| complex.cpp:55:19:55:28 | call to user_input | complex.cpp:55:12:55:12 | ref arg f [a_] |
| complex.cpp:56:3:56:4 | b3 [post update] [inner, f, b_] | complex.cpp:65:7:65:8 | b3 [inner, f, b_] |
| complex.cpp:56:6:56:10 | inner [post update] [f, b_] | complex.cpp:56:3:56:4 | b3 [post update] [inner, f, b_] |
| complex.cpp:56:12:56:12 | ref arg f [b_] | complex.cpp:56:6:56:10 | inner [post update] [f, b_] |
| complex.cpp:56:19:56:28 | call to user_input | complex.cpp:56:12:56:12 | ref arg f [b_] |
| complex.cpp:59:7:59:8 | b1 [inner, f, a_] | complex.cpp:40:17:40:17 | b [inner, f, a_] |
| complex.cpp:62:7:62:8 | b2 [inner, f, b_] | complex.cpp:40:17:40:17 | b [inner, f, b_] |
| complex.cpp:65:7:65:8 | b3 [inner, f, a_] | complex.cpp:40:17:40:17 | b [inner, f, a_] |
| complex.cpp:65:7:65:8 | b3 [inner, f, b_] | complex.cpp:40:17:40:17 | b [inner, f, b_] |
| constructors.cpp:26:15:26:15 | f [a_] | constructors.cpp:28:10:28:10 | f [a_] |
| constructors.cpp:26:15:26:15 | f [b_] | constructors.cpp:29:10:29:10 | f [b_] |
| constructors.cpp:28:10:28:10 | f [a_] | constructors.cpp:28:12:28:12 | call to a |
@@ -386,16 +387,16 @@ edges
| qualifiers.cpp:47:31:47:40 | call to user_input | qualifiers.cpp:47:5:47:42 | ... = ... |
| qualifiers.cpp:48:10:48:14 | outer [inner, a] | qualifiers.cpp:48:16:48:20 | inner [a] |
| qualifiers.cpp:48:16:48:20 | inner [a] | qualifiers.cpp:48:23:48:23 | a |
| realistic.cpp:53:9:53:11 | foo [post update] [bar, baz, ... (4)] | realistic.cpp:61:21:61:23 | foo [bar, baz, ... (4)] |
| realistic.cpp:53:9:53:18 | access to array [post update] [baz, userInput, ... (3)] | realistic.cpp:53:13:53:15 | bar [inner post update] [baz, userInput, ... (3)] |
| realistic.cpp:53:9:53:11 | foo [post update] [bar, baz, userInput, bufferLen] | realistic.cpp:61:21:61:23 | foo [bar, baz, userInput, bufferLen] |
| realistic.cpp:53:9:53:18 | access to array [post update] [baz, userInput, bufferLen] | realistic.cpp:53:13:53:15 | bar [inner post update] [baz, userInput, bufferLen] |
| realistic.cpp:53:9:53:66 | ... = ... | realistic.cpp:53:25:53:33 | userInput [post update] [bufferLen] |
| realistic.cpp:53:13:53:15 | bar [inner post update] [baz, userInput, ... (3)] | realistic.cpp:53:9:53:11 | foo [post update] [bar, baz, ... (4)] |
| realistic.cpp:53:20:53:22 | baz [post update] [userInput, bufferLen] | realistic.cpp:53:9:53:18 | access to array [post update] [baz, userInput, ... (3)] |
| realistic.cpp:53:13:53:15 | bar [inner post update] [baz, userInput, bufferLen] | realistic.cpp:53:9:53:11 | foo [post update] [bar, baz, userInput, bufferLen] |
| realistic.cpp:53:20:53:22 | baz [post update] [userInput, bufferLen] | realistic.cpp:53:9:53:18 | access to array [post update] [baz, userInput, bufferLen] |
| realistic.cpp:53:25:53:33 | userInput [post update] [bufferLen] | realistic.cpp:53:20:53:22 | baz [post update] [userInput, bufferLen] |
| realistic.cpp:53:55:53:64 | call to user_input | realistic.cpp:53:9:53:66 | ... = ... |
| realistic.cpp:61:21:61:23 | foo [bar, baz, ... (4)] | realistic.cpp:61:25:61:27 | bar [baz, userInput, ... (3)] |
| realistic.cpp:61:21:61:30 | access to array [baz, userInput, ... (3)] | realistic.cpp:61:32:61:34 | baz [userInput, bufferLen] |
| realistic.cpp:61:25:61:27 | bar [baz, userInput, ... (3)] | realistic.cpp:61:21:61:30 | access to array [baz, userInput, ... (3)] |
| realistic.cpp:61:21:61:23 | foo [bar, baz, userInput, bufferLen] | realistic.cpp:61:25:61:27 | bar [baz, userInput, bufferLen] |
| realistic.cpp:61:21:61:30 | access to array [baz, userInput, bufferLen] | realistic.cpp:61:32:61:34 | baz [userInput, bufferLen] |
| realistic.cpp:61:25:61:27 | bar [baz, userInput, bufferLen] | realistic.cpp:61:21:61:30 | access to array [baz, userInput, bufferLen] |
| realistic.cpp:61:32:61:34 | baz [userInput, bufferLen] | realistic.cpp:61:37:61:45 | userInput [bufferLen] |
| realistic.cpp:61:37:61:45 | userInput [bufferLen] | realistic.cpp:61:47:61:55 | bufferLen |
| simple.cpp:26:15:26:15 | f [a_] | simple.cpp:28:10:28:10 | f [a_] |
@@ -517,14 +518,14 @@ nodes
| A.cpp:160:29:160:29 | b | semmle.label | b |
| A.cpp:161:18:161:40 | call to MyList [next, head] | semmle.label | call to MyList [next, head] |
| A.cpp:161:38:161:39 | l1 [head] | semmle.label | l1 [head] |
| A.cpp:162:18:162:40 | call to MyList [next, next, ... (3)] | semmle.label | call to MyList [next, next, ... (3)] |
| A.cpp:162:18:162:40 | call to MyList [next, next, head] | semmle.label | call to MyList [next, next, head] |
| A.cpp:162:38:162:39 | l2 [next, head] | semmle.label | l2 [next, head] |
| A.cpp:165:10:165:11 | l3 [next, next, ... (3)] | semmle.label | l3 [next, next, ... (3)] |
| A.cpp:165:10:165:11 | l3 [next, next, head] | semmle.label | l3 [next, next, head] |
| A.cpp:165:14:165:17 | next [next, head] | semmle.label | next [next, head] |
| A.cpp:165:20:165:23 | next [head] | semmle.label | next [head] |
| A.cpp:165:26:165:29 | head | semmle.label | head |
| A.cpp:167:44:167:44 | l [next, head] | semmle.label | l [next, head] |
| A.cpp:167:44:167:44 | l [next, next, ... (3)] | semmle.label | l [next, next, ... (3)] |
| A.cpp:167:44:167:44 | l [next, next, head] | semmle.label | l [next, next, head] |
| A.cpp:167:47:167:50 | next [head] | semmle.label | next [head] |
| A.cpp:167:47:167:50 | next [next, head] | semmle.label | next [next, head] |
| A.cpp:169:12:169:12 | l [head] | semmle.label | l [head] |
@@ -586,13 +587,13 @@ nodes
| D.cpp:52:14:52:14 | b [box, elem] | semmle.label | b [box, elem] |
| D.cpp:56:15:56:24 | new | semmle.label | new |
| D.cpp:58:5:58:12 | boxfield [post update] [box, elem] | semmle.label | boxfield [post update] [box, elem] |
| D.cpp:58:5:58:12 | this [post update] [boxfield, box, ... (3)] | semmle.label | this [post update] [boxfield, box, ... (3)] |
| D.cpp:58:5:58:12 | this [post update] [boxfield, box, elem] | semmle.label | this [post update] [boxfield, box, elem] |
| D.cpp:58:5:58:27 | ... = ... | semmle.label | ... = ... |
| D.cpp:58:15:58:17 | box [post update] [elem] | semmle.label | box [post update] [elem] |
| D.cpp:59:5:59:7 | this [boxfield, box, ... (3)] | semmle.label | this [boxfield, box, ... (3)] |
| D.cpp:63:8:63:10 | this [boxfield, box, ... (3)] | semmle.label | this [boxfield, box, ... (3)] |
| D.cpp:59:5:59:7 | this [boxfield, box, elem] | semmle.label | this [boxfield, box, elem] |
| D.cpp:63:8:63:10 | this [boxfield, box, elem] | semmle.label | this [boxfield, box, elem] |
| D.cpp:64:10:64:17 | boxfield [box, elem] | semmle.label | boxfield [box, elem] |
| D.cpp:64:10:64:17 | this [boxfield, box, ... (3)] | semmle.label | this [boxfield, box, ... (3)] |
| D.cpp:64:10:64:17 | this [boxfield, box, elem] | semmle.label | this [boxfield, box, elem] |
| D.cpp:64:20:64:22 | box [elem] | semmle.label | box [elem] |
| D.cpp:64:25:64:28 | elem | semmle.label | elem |
| E.cpp:19:27:19:27 | p [data, buffer] | semmle.label | p [data, buffer] |
@@ -675,34 +676,34 @@ nodes
| arrays.cpp:15:14:15:23 | call to user_input | semmle.label | call to user_input |
| arrays.cpp:16:8:16:13 | access to array | semmle.label | access to array |
| arrays.cpp:17:8:17:13 | access to array | semmle.label | access to array |
| arrays.cpp:36:3:36:3 | o [post update] [nested, arr, ... (3)] | semmle.label | o [post update] [nested, arr, ... (3)] |
| arrays.cpp:36:3:36:3 | o [post update] [nested, arr, data] | semmle.label | o [post update] [nested, arr, data] |
| arrays.cpp:36:3:36:17 | access to array [post update] [data] | semmle.label | access to array [post update] [data] |
| arrays.cpp:36:3:36:37 | ... = ... | semmle.label | ... = ... |
| arrays.cpp:36:5:36:10 | nested [post update] [arr, data] | semmle.label | nested [post update] [arr, data] |
| arrays.cpp:36:12:36:14 | arr [inner post update] [data] | semmle.label | arr [inner post update] [data] |
| arrays.cpp:36:26:36:35 | call to user_input | semmle.label | call to user_input |
| arrays.cpp:37:8:37:8 | o [nested, arr, ... (3)] | semmle.label | o [nested, arr, ... (3)] |
| arrays.cpp:37:8:37:8 | o [nested, arr, data] | semmle.label | o [nested, arr, data] |
| arrays.cpp:37:8:37:22 | access to array [data] | semmle.label | access to array [data] |
| arrays.cpp:37:10:37:15 | nested [arr, data] | semmle.label | nested [arr, data] |
| arrays.cpp:37:17:37:19 | arr [data] | semmle.label | arr [data] |
| arrays.cpp:37:24:37:27 | data | semmle.label | data |
| arrays.cpp:38:8:38:8 | o [nested, arr, ... (3)] | semmle.label | o [nested, arr, ... (3)] |
| arrays.cpp:38:8:38:8 | o [nested, arr, data] | semmle.label | o [nested, arr, data] |
| arrays.cpp:38:8:38:22 | access to array [data] | semmle.label | access to array [data] |
| arrays.cpp:38:10:38:15 | nested [arr, data] | semmle.label | nested [arr, data] |
| arrays.cpp:38:17:38:19 | arr [data] | semmle.label | arr [data] |
| arrays.cpp:38:24:38:27 | data | semmle.label | data |
| arrays.cpp:42:3:42:3 | o [post update] [indirect, arr, ... (3)] | semmle.label | o [post update] [indirect, arr, ... (3)] |
| arrays.cpp:42:3:42:3 | o [post update] [indirect, arr, data] | semmle.label | o [post update] [indirect, arr, data] |
| arrays.cpp:42:3:42:20 | access to array [post update] [data] | semmle.label | access to array [post update] [data] |
| arrays.cpp:42:3:42:40 | ... = ... | semmle.label | ... = ... |
| arrays.cpp:42:5:42:12 | indirect [post update] [arr, data] | semmle.label | indirect [post update] [arr, data] |
| arrays.cpp:42:15:42:17 | arr [inner post update] [data] | semmle.label | arr [inner post update] [data] |
| arrays.cpp:42:29:42:38 | call to user_input | semmle.label | call to user_input |
| arrays.cpp:43:8:43:8 | o [indirect, arr, ... (3)] | semmle.label | o [indirect, arr, ... (3)] |
| arrays.cpp:43:8:43:8 | o [indirect, arr, data] | semmle.label | o [indirect, arr, data] |
| arrays.cpp:43:8:43:25 | access to array [data] | semmle.label | access to array [data] |
| arrays.cpp:43:10:43:17 | indirect [arr, data] | semmle.label | indirect [arr, data] |
| arrays.cpp:43:20:43:22 | arr [data] | semmle.label | arr [data] |
| arrays.cpp:43:27:43:30 | data | semmle.label | data |
| arrays.cpp:44:8:44:8 | o [indirect, arr, ... (3)] | semmle.label | o [indirect, arr, ... (3)] |
| arrays.cpp:44:8:44:8 | o [indirect, arr, data] | semmle.label | o [indirect, arr, data] |
| arrays.cpp:44:8:44:25 | access to array [data] | semmle.label | access to array [data] |
| arrays.cpp:44:10:44:17 | indirect [arr, data] | semmle.label | indirect [arr, data] |
| arrays.cpp:44:20:44:22 | arr [data] | semmle.label | arr [data] |
@@ -796,34 +797,36 @@ nodes
| by_reference.cpp:135:27:135:27 | a | semmle.label | a |
| by_reference.cpp:136:8:136:13 | pouter [a] | semmle.label | pouter [a] |
| by_reference.cpp:136:16:136:16 | a | semmle.label | a |
| complex.cpp:40:17:40:17 | b [inner, f, ... (3)] | semmle.label | b [inner, f, ... (3)] |
| complex.cpp:51:8:51:8 | b [inner, f, ... (3)] | semmle.label | b [inner, f, ... (3)] |
| complex.cpp:51:10:51:14 | inner [f, a_] | semmle.label | inner [f, a_] |
| complex.cpp:51:16:51:16 | f [a_] | semmle.label | f [a_] |
| complex.cpp:51:18:51:18 | call to a | semmle.label | call to a |
| complex.cpp:52:8:52:8 | b [inner, f, ... (3)] | semmle.label | b [inner, f, ... (3)] |
| complex.cpp:52:10:52:14 | inner [f, b_] | semmle.label | inner [f, b_] |
| complex.cpp:52:16:52:16 | f [b_] | semmle.label | f [b_] |
| complex.cpp:52:18:52:18 | call to b | semmle.label | call to b |
| complex.cpp:62:3:62:4 | b1 [post update] [inner, f, ... (3)] | semmle.label | b1 [post update] [inner, f, ... (3)] |
| complex.cpp:62:6:62:10 | inner [post update] [f, a_] | semmle.label | inner [post update] [f, a_] |
| complex.cpp:62:12:62:12 | ref arg f [a_] | semmle.label | ref arg f [a_] |
| complex.cpp:62:19:62:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:63:3:63:4 | b2 [post update] [inner, f, ... (3)] | semmle.label | b2 [post update] [inner, f, ... (3)] |
| complex.cpp:63:6:63:10 | inner [post update] [f, b_] | semmle.label | inner [post update] [f, b_] |
| complex.cpp:63:12:63:12 | ref arg f [b_] | semmle.label | ref arg f [b_] |
| complex.cpp:63:19:63:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:64:3:64:4 | b3 [post update] [inner, f, ... (3)] | semmle.label | b3 [post update] [inner, f, ... (3)] |
| complex.cpp:64:6:64:10 | inner [post update] [f, a_] | semmle.label | inner [post update] [f, a_] |
| complex.cpp:64:12:64:12 | ref arg f [a_] | semmle.label | ref arg f [a_] |
| complex.cpp:64:19:64:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:65:3:65:4 | b3 [post update] [inner, f, ... (3)] | semmle.label | b3 [post update] [inner, f, ... (3)] |
| complex.cpp:65:6:65:10 | inner [post update] [f, b_] | semmle.label | inner [post update] [f, b_] |
| complex.cpp:65:12:65:12 | ref arg f [b_] | semmle.label | ref arg f [b_] |
| complex.cpp:65:19:65:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:68:7:68:8 | b1 [inner, f, ... (3)] | semmle.label | b1 [inner, f, ... (3)] |
| complex.cpp:71:7:71:8 | b2 [inner, f, ... (3)] | semmle.label | b2 [inner, f, ... (3)] |
| complex.cpp:74:7:74:8 | b3 [inner, f, ... (3)] | semmle.label | b3 [inner, f, ... (3)] |
| complex.cpp:40:17:40:17 | b [inner, f, a_] | semmle.label | b [inner, f, a_] |
| complex.cpp:40:17:40:17 | b [inner, f, b_] | semmle.label | b [inner, f, b_] |
| complex.cpp:42:8:42:8 | b [inner, f, a_] | semmle.label | b [inner, f, a_] |
| complex.cpp:42:10:42:14 | inner [f, a_] | semmle.label | inner [f, a_] |
| complex.cpp:42:16:42:16 | f [a_] | semmle.label | f [a_] |
| complex.cpp:42:18:42:18 | call to a | semmle.label | call to a |
| complex.cpp:43:8:43:8 | b [inner, f, b_] | semmle.label | b [inner, f, b_] |
| complex.cpp:43:10:43:14 | inner [f, b_] | semmle.label | inner [f, b_] |
| complex.cpp:43:16:43:16 | f [b_] | semmle.label | f [b_] |
| complex.cpp:43:18:43:18 | call to b | semmle.label | call to b |
| complex.cpp:53:3:53:4 | b1 [post update] [inner, f, a_] | semmle.label | b1 [post update] [inner, f, a_] |
| complex.cpp:53:6:53:10 | inner [post update] [f, a_] | semmle.label | inner [post update] [f, a_] |
| complex.cpp:53:12:53:12 | ref arg f [a_] | semmle.label | ref arg f [a_] |
| complex.cpp:53:19:53:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:54:3:54:4 | b2 [post update] [inner, f, b_] | semmle.label | b2 [post update] [inner, f, b_] |
| complex.cpp:54:6:54:10 | inner [post update] [f, b_] | semmle.label | inner [post update] [f, b_] |
| complex.cpp:54:12:54:12 | ref arg f [b_] | semmle.label | ref arg f [b_] |
| complex.cpp:54:19:54:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:55:3:55:4 | b3 [post update] [inner, f, a_] | semmle.label | b3 [post update] [inner, f, a_] |
| complex.cpp:55:6:55:10 | inner [post update] [f, a_] | semmle.label | inner [post update] [f, a_] |
| complex.cpp:55:12:55:12 | ref arg f [a_] | semmle.label | ref arg f [a_] |
| complex.cpp:55:19:55:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:56:3:56:4 | b3 [post update] [inner, f, b_] | semmle.label | b3 [post update] [inner, f, b_] |
| complex.cpp:56:6:56:10 | inner [post update] [f, b_] | semmle.label | inner [post update] [f, b_] |
| complex.cpp:56:12:56:12 | ref arg f [b_] | semmle.label | ref arg f [b_] |
| complex.cpp:56:19:56:28 | call to user_input | semmle.label | call to user_input |
| complex.cpp:59:7:59:8 | b1 [inner, f, a_] | semmle.label | b1 [inner, f, a_] |
| complex.cpp:62:7:62:8 | b2 [inner, f, b_] | semmle.label | b2 [inner, f, b_] |
| complex.cpp:65:7:65:8 | b3 [inner, f, a_] | semmle.label | b3 [inner, f, a_] |
| complex.cpp:65:7:65:8 | b3 [inner, f, b_] | semmle.label | b3 [inner, f, b_] |
| constructors.cpp:26:15:26:15 | f [a_] | semmle.label | f [a_] |
| constructors.cpp:26:15:26:15 | f [b_] | semmle.label | f [b_] |
| constructors.cpp:28:10:28:10 | f [a_] | semmle.label | f [a_] |
@@ -883,16 +886,16 @@ nodes
| qualifiers.cpp:48:10:48:14 | outer [inner, a] | semmle.label | outer [inner, a] |
| qualifiers.cpp:48:16:48:20 | inner [a] | semmle.label | inner [a] |
| qualifiers.cpp:48:23:48:23 | a | semmle.label | a |
| realistic.cpp:53:9:53:11 | foo [post update] [bar, baz, ... (4)] | semmle.label | foo [post update] [bar, baz, ... (4)] |
| realistic.cpp:53:9:53:18 | access to array [post update] [baz, userInput, ... (3)] | semmle.label | access to array [post update] [baz, userInput, ... (3)] |
| realistic.cpp:53:9:53:11 | foo [post update] [bar, baz, userInput, bufferLen] | semmle.label | foo [post update] [bar, baz, userInput, bufferLen] |
| realistic.cpp:53:9:53:18 | access to array [post update] [baz, userInput, bufferLen] | semmle.label | access to array [post update] [baz, userInput, bufferLen] |
| realistic.cpp:53:9:53:66 | ... = ... | semmle.label | ... = ... |
| realistic.cpp:53:13:53:15 | bar [inner post update] [baz, userInput, ... (3)] | semmle.label | bar [inner post update] [baz, userInput, ... (3)] |
| realistic.cpp:53:13:53:15 | bar [inner post update] [baz, userInput, bufferLen] | semmle.label | bar [inner post update] [baz, userInput, bufferLen] |
| realistic.cpp:53:20:53:22 | baz [post update] [userInput, bufferLen] | semmle.label | baz [post update] [userInput, bufferLen] |
| realistic.cpp:53:25:53:33 | userInput [post update] [bufferLen] | semmle.label | userInput [post update] [bufferLen] |
| realistic.cpp:53:55:53:64 | call to user_input | semmle.label | call to user_input |
| realistic.cpp:61:21:61:23 | foo [bar, baz, ... (4)] | semmle.label | foo [bar, baz, ... (4)] |
| realistic.cpp:61:21:61:30 | access to array [baz, userInput, ... (3)] | semmle.label | access to array [baz, userInput, ... (3)] |
| realistic.cpp:61:25:61:27 | bar [baz, userInput, ... (3)] | semmle.label | bar [baz, userInput, ... (3)] |
| realistic.cpp:61:21:61:23 | foo [bar, baz, userInput, bufferLen] | semmle.label | foo [bar, baz, userInput, bufferLen] |
| realistic.cpp:61:21:61:30 | access to array [baz, userInput, bufferLen] | semmle.label | access to array [baz, userInput, bufferLen] |
| realistic.cpp:61:25:61:27 | bar [baz, userInput, bufferLen] | semmle.label | bar [baz, userInput, bufferLen] |
| realistic.cpp:61:32:61:34 | baz [userInput, bufferLen] | semmle.label | baz [userInput, bufferLen] |
| realistic.cpp:61:37:61:45 | userInput [bufferLen] | semmle.label | userInput [bufferLen] |
| realistic.cpp:61:47:61:55 | bufferLen | semmle.label | bufferLen |
@@ -1021,14 +1024,10 @@ nodes
| by_reference.cpp:134:29:134:29 | a | by_reference.cpp:88:13:88:22 | call to user_input | by_reference.cpp:134:29:134:29 | a | a flows from $@ | by_reference.cpp:88:13:88:22 | call to user_input | call to user_input |
| by_reference.cpp:135:27:135:27 | a | by_reference.cpp:88:13:88:22 | call to user_input | by_reference.cpp:135:27:135:27 | a | a flows from $@ | by_reference.cpp:88:13:88:22 | call to user_input | call to user_input |
| by_reference.cpp:136:16:136:16 | a | by_reference.cpp:96:8:96:17 | call to user_input | by_reference.cpp:136:16:136:16 | a | a flows from $@ | by_reference.cpp:96:8:96:17 | call to user_input | call to user_input |
| complex.cpp:51:18:51:18 | call to a | complex.cpp:62:19:62:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | call to a flows from $@ | complex.cpp:62:19:62:28 | call to user_input | call to user_input |
| complex.cpp:51:18:51:18 | call to a | complex.cpp:63:19:63:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | call to a flows from $@ | complex.cpp:63:19:63:28 | call to user_input | call to user_input |
| complex.cpp:51:18:51:18 | call to a | complex.cpp:64:19:64:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | call to a flows from $@ | complex.cpp:64:19:64:28 | call to user_input | call to user_input |
| complex.cpp:51:18:51:18 | call to a | complex.cpp:65:19:65:28 | call to user_input | complex.cpp:51:18:51:18 | call to a | call to a flows from $@ | complex.cpp:65:19:65:28 | call to user_input | call to user_input |
| complex.cpp:52:18:52:18 | call to b | complex.cpp:62:19:62:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | call to b flows from $@ | complex.cpp:62:19:62:28 | call to user_input | call to user_input |
| complex.cpp:52:18:52:18 | call to b | complex.cpp:63:19:63:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | call to b flows from $@ | complex.cpp:63:19:63:28 | call to user_input | call to user_input |
| complex.cpp:52:18:52:18 | call to b | complex.cpp:64:19:64:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | call to b flows from $@ | complex.cpp:64:19:64:28 | call to user_input | call to user_input |
| complex.cpp:52:18:52:18 | call to b | complex.cpp:65:19:65:28 | call to user_input | complex.cpp:52:18:52:18 | call to b | call to b flows from $@ | complex.cpp:65:19:65:28 | call to user_input | call to user_input |
| complex.cpp:42:18:42:18 | call to a | complex.cpp:53:19:53:28 | call to user_input | complex.cpp:42:18:42:18 | call to a | call to a flows from $@ | complex.cpp:53:19:53:28 | call to user_input | call to user_input |
| complex.cpp:42:18:42:18 | call to a | complex.cpp:55:19:55:28 | call to user_input | complex.cpp:42:18:42:18 | call to a | call to a flows from $@ | complex.cpp:55:19:55:28 | call to user_input | call to user_input |
| complex.cpp:43:18:43:18 | call to b | complex.cpp:54:19:54:28 | call to user_input | complex.cpp:43:18:43:18 | call to b | call to b flows from $@ | complex.cpp:54:19:54:28 | call to user_input | call to user_input |
| complex.cpp:43:18:43:18 | call to b | complex.cpp:56:19:56:28 | call to user_input | complex.cpp:43:18:43:18 | call to b | call to b flows from $@ | complex.cpp:56:19:56:28 | call to user_input | call to user_input |
| constructors.cpp:28:12:28:12 | call to a | constructors.cpp:34:11:34:20 | call to user_input | constructors.cpp:28:12:28:12 | call to a | call to a flows from $@ | constructors.cpp:34:11:34:20 | call to user_input | call to user_input |
| constructors.cpp:28:12:28:12 | call to a | constructors.cpp:36:11:36:20 | call to user_input | constructors.cpp:28:12:28:12 | call to a | call to a flows from $@ | constructors.cpp:36:11:36:20 | call to user_input | call to user_input |
| constructors.cpp:29:12:29:12 | call to b | constructors.cpp:35:14:35:23 | call to user_input | constructors.cpp:29:12:29:12 | call to b | call to b flows from $@ | constructors.cpp:35:14:35:23 | call to user_input | call to user_input |

View File

@@ -251,15 +251,15 @@
| copyableclass_declonly.cpp:67:13:67:18 | call to source | copyableclass_declonly.cpp:67:13:67:20 | call to MyCopyableClassDeclOnly | TAINT |
| copyableclass_declonly.cpp:67:13:67:20 | call to MyCopyableClassDeclOnly | copyableclass_declonly.cpp:67:8:67:9 | ref arg s3 | TAINT |
| copyableclass_declonly.cpp:67:13:67:20 | call to MyCopyableClassDeclOnly | copyableclass_declonly.cpp:67:11:67:11 | call to operator= | TAINT |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | p#0 | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | (unnamed parameter 0) | |
| format.cpp:16:21:16:21 | s | format.cpp:22:22:22:22 | s | |
| format.cpp:16:31:16:31 | n | format.cpp:22:25:22:25 | n | |
| format.cpp:16:46:16:51 | format | format.cpp:22:28:22:33 | format | |
@@ -5507,8 +5507,6 @@
| taint.cpp:194:10:194:10 | x | taint.cpp:194:9:194:10 | & ... | |
| taint.cpp:194:13:194:18 | source | taint.cpp:194:2:194:7 | call to memcpy | TAINT |
| taint.cpp:194:13:194:18 | source | taint.cpp:194:9:194:10 | ref arg & ... | TAINT |
| taint.cpp:194:21:194:31 | sizeof(int) | taint.cpp:194:2:194:7 | call to memcpy | TAINT |
| taint.cpp:194:21:194:31 | sizeof(int) | taint.cpp:194:9:194:10 | ref arg & ... | TAINT |
| taint.cpp:207:6:207:11 | call to source | taint.cpp:207:2:207:13 | ... = ... | |
| taint.cpp:207:6:207:11 | call to source | taint.cpp:210:7:210:7 | x | |
| taint.cpp:207:6:207:11 | call to source | taint.cpp:213:12:213:12 | x | |

View File

@@ -1,8 +1,8 @@
| file://:0:0:0:0 | (unnamed parameter 0) | 1 | <no init> | 1 | <no assigned> |
| file://:0:0:0:0 | (unnamed parameter 0) | 1 | <no init> | 1 | <no assigned> |
| file://:0:0:0:0 | fp_offset | 1 | <no init> | 1 | <no assigned> |
| file://:0:0:0:0 | gp_offset | 1 | <no init> | 1 | <no assigned> |
| file://:0:0:0:0 | overflow_arg_area | 1 | <no init> | 1 | <no assigned> |
| file://:0:0:0:0 | p#0 | 1 | <no init> | 1 | <no assigned> |
| file://:0:0:0:0 | p#0 | 1 | <no init> | 1 | <no assigned> |
| file://:0:0:0:0 | reg_save_area | 1 | <no init> | 1 | <no assigned> |
| test.cpp:2:21:2:21 | x | 1 | file://:0:0:0:0 initializer for x | 2 | test.cpp:2:25:2:26 10 |
| test.cpp:2:21:2:21 | x | 1 | file://:0:0:0:0 initializer for x | 2 | test.cpp:3:9:3:9 3 |

View File

@@ -1,16 +1,16 @@
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | (unnamed parameter 0) | 0 | 0 |
| file://:0:0:0:0 | fp_offset | 0 | 0 |
| file://:0:0:0:0 | gp_offset | 0 | 0 |
| file://:0:0:0:0 | overflow_arg_area | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | p#0 | 0 | 0 |
| file://:0:0:0:0 | reg_save_area | 0 | 0 |
| initializers.cpp:8:8:8:12 | a_ptr | 1 | 1 |
| initializers.cpp:9:4:9:4 | a | 1 | 1 |

View File

@@ -1,29 +1,29 @@
| ODASA-5186.cpp:4:8:4:8 | MyClass | MyClass | | declaration:ODASA-5186.cpp:4:8:4:8, definition:ODASA-5186.cpp:4:8:4:8 |
| ODASA-5186.cpp:4:8:4:8 | operator= | operator= | MyClass<int> && p#0 | declaration:ODASA-5186.cpp:4:8:4:8 |
| ODASA-5186.cpp:4:8:4:8 | operator= | operator= | const MyClass<int> & p#0 | declaration:ODASA-5186.cpp:4:8:4:8 |
| ODASA-5186.cpp:4:8:4:8 | operator= | operator= | MyClass<int> && (unnamed parameter 0) | declaration:ODASA-5186.cpp:4:8:4:8 |
| ODASA-5186.cpp:4:8:4:8 | operator= | operator= | const MyClass<int> & (unnamed parameter 0) | declaration:ODASA-5186.cpp:4:8:4:8 |
| ODASA-5186.cpp:5:8:5:8 | operator== | operator== | const MyClass<int> & other | declaration:ODASA-5186.cpp:5:8:5:8, definition:ODASA-5186.cpp:5:8:5:8 |
| ODASA-5186.cpp:5:8:5:17 | operator== | operator== | const MyClass<T> & other | declaration:ODASA-5186.cpp:5:8:5:17, definition:ODASA-5186.cpp:5:8:5:17 |
| ODASA-5186.cpp:8:6:8:9 | test | test | | TopLevelFunction, declaration:ODASA-5186.cpp:8:6:8:9, definition:ODASA-5186.cpp:8:6:8:9, isTopLevel |
| ODASA-5186.hpp:2:8:2:8 | operator= | operator= | NEQ_helper<MyClass<int>> && p#0 | declaration:ODASA-5186.hpp:2:8:2:8 |
| ODASA-5186.hpp:2:8:2:8 | operator= | operator= | const NEQ_helper<MyClass<int>> & p#0 | declaration:ODASA-5186.hpp:2:8:2:8 |
| ODASA-5186.hpp:2:8:2:8 | operator= | operator= | NEQ_helper<MyClass<int>> && (unnamed parameter 0) | declaration:ODASA-5186.hpp:2:8:2:8 |
| ODASA-5186.hpp:2:8:2:8 | operator= | operator= | const NEQ_helper<MyClass<int>> & (unnamed parameter 0) | declaration:ODASA-5186.hpp:2:8:2:8 |
| ODASA-5186.hpp:4:18:4:27 | operator!= | operator!= | const MyClass<int> & x, const MyClass<int> & y | TopLevelFunction, declaration:ODASA-5186.hpp:4:18:4:27, definition:ODASA-5186.hpp:4:18:4:27, isTopLevel |
| ODASA-5186.hpp:4:18:4:27 | operator!= | operator!= | const T & x, const T & y | TopLevelFunction, declaration:ODASA-5186.hpp:4:18:4:27, definition:ODASA-5186.hpp:4:18:4:27, isTopLevel |
| functions.cpp:1:6:1:6 | f | f | int a, int b | TopLevelFunction, declaration:functions.cpp:1:6:1:6, definition:functions.cpp:1:6:1:6, isTopLevel |
| functions.cpp:7:8:7:8 | operator= | operator= | A && p#0 | declaration:functions.cpp:7:8:7:8 |
| functions.cpp:7:8:7:8 | operator= | operator= | const A & p#0 | declaration:functions.cpp:7:8:7:8 |
| functions.cpp:7:8:7:8 | operator= | operator= | A && (unnamed parameter 0) | declaration:functions.cpp:7:8:7:8 |
| functions.cpp:7:8:7:8 | operator= | operator= | const A & (unnamed parameter 0) | declaration:functions.cpp:7:8:7:8 |
| functions.cpp:8:7:8:8 | af | af | | declaration:functions.cpp:8:7:8:8, definition:functions.cpp:8:7:8:8 |
| functions.cpp:11:7:11:8 | ag | ag | | declaration:functions.cpp:11:7:11:8 |
| functions.cpp:14:6:14:6 | g | g | | TopLevelFunction, declaration:functions.cpp:14:6:14:6, declaration:functions.cpp:5:6:5:6, definition:functions.cpp:14:6:14:6, isTopLevel |
| functions.cpp:19:7:19:7 | Name | Name | | declaration:functions.cpp:19:7:19:7 |
| functions.cpp:19:7:19:7 | operator= | operator= | Name && p#0 | declaration:functions.cpp:19:7:19:7 |
| functions.cpp:19:7:19:7 | operator= | operator= | const Name & p#0 | declaration:functions.cpp:19:7:19:7 |
| functions.cpp:23:7:23:7 | Table | Table | const Table & p#0 | declaration:functions.cpp:23:7:23:7 |
| functions.cpp:23:7:23:7 | operator= | operator= | const Table & p#0 | declaration:functions.cpp:23:7:23:7 |
| functions.cpp:19:7:19:7 | operator= | operator= | Name && (unnamed parameter 0) | declaration:functions.cpp:19:7:19:7 |
| functions.cpp:19:7:19:7 | operator= | operator= | const Name & (unnamed parameter 0) | declaration:functions.cpp:19:7:19:7 |
| functions.cpp:23:7:23:7 | Table | Table | const Table & (unnamed parameter 0) | declaration:functions.cpp:23:7:23:7 |
| functions.cpp:23:7:23:7 | operator= | operator= | const Table & (unnamed parameter 0) | declaration:functions.cpp:23:7:23:7 |
| functions.cpp:27:3:27:7 | Table | Table | int s | declaration:functions.cpp:27:3:27:7, definition:functions.cpp:27:3:27:7 |
| functions.cpp:28:3:28:8 | ~Table | ~Table | | declaration:functions.cpp:28:3:28:8, definition:functions.cpp:28:3:28:8 |
| functions.cpp:29:9:29:14 | lookup | lookup | const char * p#0 | declaration:functions.cpp:29:9:29:14 |
| functions.cpp:30:8:30:13 | insert | insert | Name * p#0 | declaration:functions.cpp:30:8:30:13 |
| functions.cpp:33:7:33:7 | operator= | operator= | const MyClass & p#0 | declaration:functions.cpp:33:7:33:7, definition:functions.cpp:33:7:33:7 |
| functions.cpp:29:9:29:14 | lookup | lookup | const char * (unnamed parameter 0) | declaration:functions.cpp:29:9:29:14 |
| functions.cpp:30:8:30:13 | insert | insert | Name * (unnamed parameter 0) | declaration:functions.cpp:30:8:30:13 |
| functions.cpp:33:7:33:7 | operator= | operator= | const MyClass & (unnamed parameter 0) | declaration:functions.cpp:33:7:33:7, definition:functions.cpp:33:7:33:7 |
| functions.cpp:36:2:36:8 | MyClass | MyClass | | declaration:functions.cpp:36:2:36:8 |
| functions.cpp:37:2:37:8 | MyClass | MyClass | int from | declaration:functions.cpp:37:2:37:8 |
| functions.cpp:38:2:38:8 | MyClass | MyClass | const MyClass & from | declaration:functions.cpp:38:2:38:8 |

View File

@@ -1,5 +1,5 @@
| qualifiedNames.cpp:3:25:3:27 | p#0 |
| qualifiedNames.cpp:4:25:4:28 | p#0 |
| qualifiedNames.cpp:3:25:3:27 | (unnamed parameter 0) |
| qualifiedNames.cpp:4:25:4:28 | (unnamed parameter 0) |
| qualifiedNames.cpp:18:18:18:31 | Nested's friend |
| qualifiedNames.cpp:26:9:26:9 | LocalClass |
| qualifiedNames.cpp:26:9:26:9 | operator= |

View File

@@ -1,71 +1,71 @@
#-----| [CopyAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag const&)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const __va_list_tag &
#-----| [MoveAssignmentOperator] __va_list_tag& __va_list_tag::operator=(__va_list_tag&&)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] __va_list_tag &&
#-----| [Operator,TopLevelFunction] void operator delete(void*)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [VoidPointerType] void *
#-----| [Operator,TopLevelFunction] void operator delete(void*, unsigned long)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [VoidPointerType] void *
#-----| 1: [Parameter] p#1
#-----| 1: [Parameter] (unnamed parameter 1)
#-----| Type = [LongType] unsigned long
#-----| [Operator,TopLevelFunction] void operator delete(void*, unsigned long, std::align_val_t)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [VoidPointerType] void *
#-----| 1: [Parameter] p#1
#-----| 1: [Parameter] (unnamed parameter 1)
#-----| Type = [LongType] unsigned long
#-----| 2: [Parameter] p#2
#-----| 2: [Parameter] (unnamed parameter 2)
#-----| Type = [ScopedEnum] align_val_t
#-----| [Operator,TopLevelFunction] void operator delete[](void*, unsigned long)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [VoidPointerType] void *
#-----| 1: [Parameter] p#1
#-----| 1: [Parameter] (unnamed parameter 1)
#-----| Type = [LongType] unsigned long
#-----| [Operator,TopLevelFunction] void operator delete[](void*, unsigned long, std::align_val_t)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [VoidPointerType] void *
#-----| 1: [Parameter] p#1
#-----| 1: [Parameter] (unnamed parameter 1)
#-----| Type = [LongType] unsigned long
#-----| 2: [Parameter] p#2
#-----| 2: [Parameter] (unnamed parameter 2)
#-----| Type = [ScopedEnum] align_val_t
#-----| [Operator,TopLevelFunction] void* operator new(unsigned long)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LongType] unsigned long
#-----| [Operator,TopLevelFunction] void* operator new(unsigned long, std::align_val_t)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LongType] unsigned long
#-----| 1: [Parameter] p#1
#-----| 1: [Parameter] (unnamed parameter 1)
#-----| Type = [ScopedEnum] align_val_t
#-----| [Operator,TopLevelFunction] void* operator new[](unsigned long)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LongType] unsigned long
#-----| [Operator,TopLevelFunction] void* operator new[](unsigned long, std::align_val_t)
#-----| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LongType] unsigned long
#-----| 1: [Parameter] p#1
#-----| 1: [Parameter] (unnamed parameter 1)
#-----| Type = [ScopedEnum] align_val_t
bad_asts.cpp:
# 5| [CopyAssignmentOperator] Bad::S& Bad::S::operator=(Bad::S const&)
# 5| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const S &
# 5| [MoveAssignmentOperator] Bad::S& Bad::S::operator=(Bad::S&&)
# 5| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] S &&
# 9| [FunctionTemplateInstantiation,MemberFunction] int Bad::S::MemberFunction<int 6>(int)
# 9| params:
@@ -141,15 +141,15 @@ bad_asts.cpp:
# 17| 2: [ReturnStmt] return ...
# 19| [CopyAssignmentOperator] Bad::Point& Bad::Point::operator=(Bad::Point const&)
# 19| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Point &
# 19| [MoveAssignmentOperator] Bad::Point& Bad::Point::operator=(Bad::Point&&)
# 19| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Point &&
# 19| [CopyConstructor] void Bad::Point::Point(Bad::Point const&)
# 19| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Point &
# 19| initializations:
# 19| 0: [ConstructorFieldInit] constructor init of field x
@@ -168,7 +168,7 @@ bad_asts.cpp:
# 19| 0: [ReturnStmt] return ...
# 19| [MoveConstructor] void Bad::Point::Point(Bad::Point&&)
# 19| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Point &&
# 22| [Constructor] void Bad::Point::Point()
# 22| params:
@@ -4368,19 +4368,19 @@ ir.cpp:
# 410| 3: [ReturnStmt] return ...
# 412| [CopyAssignmentOperator] Point& Point::operator=(Point const&)
# 412| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Point &
# 412| [MoveAssignmentOperator] Point& Point::operator=(Point&&)
# 412| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Point &&
# 417| [CopyAssignmentOperator] Rect& Rect::operator=(Rect const&)
# 417| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Rect &
# 417| [MoveAssignmentOperator] Rect& Rect::operator=(Rect&&)
# 417| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Rect &&
# 422| [TopLevelFunction] Point ReturnStruct(Point)
# 422| params:
@@ -5045,11 +5045,11 @@ ir.cpp:
# 523| 3: [ReturnStmt] return ...
# 525| [CopyAssignmentOperator] U& U::operator=(U const&)
# 525| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const U &
# 525| [MoveAssignmentOperator] U& U::operator=(U&&)
# 525| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] U &&
# 530| [TopLevelFunction] void UnionInit(int, float)
# 530| params:
@@ -5332,7 +5332,7 @@ ir.cpp:
# 586| 1: [ReturnStmt] return ...
# 588| [TopLevelFunction] int FuncPtrTarget(int)
# 588| params:
# 588| 0: [Parameter] p#0
# 588| 0: [Parameter] (unnamed parameter 0)
# 588| Type = [IntType] int
# 590| [TopLevelFunction] void SetFuncPtr()
# 590| params:
@@ -5395,25 +5395,25 @@ ir.cpp:
# 595| 4: [ReturnStmt] return ...
# 599| [CopyConstructor] void String::String(String const&)
# 599| params:
# 599| 0: [Parameter] p#0
# 599| 0: [Parameter] (unnamed parameter 0)
# 599| Type = [LValueReferenceType] const String &
# 600| [MoveConstructor] void String::String(String&&)
# 600| params:
# 600| 0: [Parameter] p#0
# 600| 0: [Parameter] (unnamed parameter 0)
# 600| Type = [RValueReferenceType] String &&
# 601| [ConversionConstructor] void String::String(char const*)
# 601| params:
# 601| 0: [Parameter] p#0
# 601| 0: [Parameter] (unnamed parameter 0)
# 601| Type = [PointerType] const char *
# 602| [Destructor] void String::~String()
# 602| params:
# 604| [CopyAssignmentOperator] String& String::operator=(String const&)
# 604| params:
# 604| 0: [Parameter] p#0
# 604| 0: [Parameter] (unnamed parameter 0)
# 604| Type = [LValueReferenceType] const String &
# 605| [MoveAssignmentOperator] String& String::operator=(String&&)
# 605| params:
# 605| 0: [Parameter] p#0
# 605| 0: [Parameter] (unnamed parameter 0)
# 605| Type = [RValueReferenceType] String &&
# 607| [ConstMemberFunction] char const* String::c_str() const
# 607| params:
@@ -5513,19 +5513,19 @@ ir.cpp:
# 626| 3: [ReturnStmt] return ...
# 628| [CopyAssignmentOperator] C& C::operator=(C const&)
# 628| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const C &
# 628| [MoveAssignmentOperator] C& C::operator=(C&&)
# 628| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] C &&
# 628| [CopyConstructor] void C::C(C const&)
# 628| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const C &
# 628| [MoveConstructor] void C::C(C&&)
# 628| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] C &&
# 628| [Destructor] void C::~C()
# 628| params:
@@ -5996,11 +5996,11 @@ ir.cpp:
# 709| ValueCategory = prvalue(load)
# 713| [CopyAssignmentOperator] Outer<long>& Outer<long>::operator=(Outer<long> const&)
# 713| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Outer<long> &
# 713| [MoveAssignmentOperator] Outer<long>& Outer<long>::operator=(Outer<long>&&)
# 713| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Outer<long> &&
# 715| [MemberFunction,TemplateFunction] T Outer<T>::Func<U, V>(U, V)
# 715| params:
@@ -6163,7 +6163,7 @@ ir.cpp:
# 743| 1: [ReturnStmt] return ...
# 745| [CopyAssignmentOperator] Base& Base::operator=(Base const&)
# 745| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Base &
#-----| body: [BlockStmt] { ... }
#-----| 0: [ExprStmt] ExprStmt
@@ -6191,7 +6191,7 @@ ir.cpp:
#-----| -1: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Base
#-----| ValueCategory = lvalue
# 745| expr: [VariableAccess] p#0
# 745| expr: [VariableAccess] (unnamed parameter 0)
# 745| Type = [LValueReferenceType] const Base &
# 745| ValueCategory = prvalue(load)
#-----| 1: [ReturnStmt] return ...
@@ -6206,7 +6206,7 @@ ir.cpp:
#-----| ValueCategory = prvalue(load)
# 745| [CopyConstructor] void Base::Base(Base const&)
# 745| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Base &
# 745| initializations:
# 745| 0: [ConstructorFieldInit] constructor init of field base_s
@@ -6244,7 +6244,7 @@ ir.cpp:
# 751| ValueCategory = lvalue
# 754| [CopyAssignmentOperator] Middle& Middle::operator=(Middle const&)
# 754| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Middle &
#-----| body: [BlockStmt] { ... }
#-----| 0: [ExprStmt] ExprStmt
@@ -6277,7 +6277,7 @@ ir.cpp:
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Middle
#-----| ValueCategory = lvalue
# 754| expr: [VariableAccess] p#0
# 754| expr: [VariableAccess] (unnamed parameter 0)
# 754| Type = [LValueReferenceType] const Middle &
# 754| ValueCategory = prvalue(load)
#-----| 1: [ExprStmt] ExprStmt
@@ -6305,7 +6305,7 @@ ir.cpp:
#-----| -1: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Middle
#-----| ValueCategory = lvalue
# 754| expr: [VariableAccess] p#0
# 754| expr: [VariableAccess] (unnamed parameter 0)
# 754| Type = [LValueReferenceType] const Middle &
# 754| ValueCategory = prvalue(load)
#-----| 2: [ReturnStmt] return ...
@@ -6320,7 +6320,7 @@ ir.cpp:
#-----| ValueCategory = prvalue(load)
# 754| [CopyConstructor] void Middle::Middle(Middle const&)
# 754| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Middle &
# 757| [Constructor] void Middle::Middle()
# 757| params:
@@ -6355,7 +6355,7 @@ ir.cpp:
# 760| ValueCategory = prvalue
# 763| [CopyAssignmentOperator] Derived& Derived::operator=(Derived const&)
# 763| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Derived &
#-----| body: [BlockStmt] { ... }
#-----| 0: [ExprStmt] ExprStmt
@@ -6388,7 +6388,7 @@ ir.cpp:
#-----| 0: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Derived
#-----| ValueCategory = lvalue
# 763| expr: [VariableAccess] p#0
# 763| expr: [VariableAccess] (unnamed parameter 0)
# 763| Type = [LValueReferenceType] const Derived &
# 763| ValueCategory = prvalue(load)
#-----| 1: [ExprStmt] ExprStmt
@@ -6416,7 +6416,7 @@ ir.cpp:
#-----| -1: [ReferenceDereferenceExpr] (reference dereference)
#-----| Type = [SpecifiedType] const Derived
#-----| ValueCategory = lvalue
# 763| expr: [VariableAccess] p#0
# 763| expr: [VariableAccess] (unnamed parameter 0)
# 763| Type = [LValueReferenceType] const Derived &
# 763| ValueCategory = prvalue(load)
#-----| 2: [ReturnStmt] return ...
@@ -6431,7 +6431,7 @@ ir.cpp:
#-----| ValueCategory = prvalue(load)
# 763| [CopyConstructor] void Derived::Derived(Derived const&)
# 763| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Derived &
# 766| [Constructor] void Derived::Derived()
# 766| params:
@@ -6466,11 +6466,11 @@ ir.cpp:
# 769| ValueCategory = prvalue
# 772| [CopyAssignmentOperator] MiddleVB1& MiddleVB1::operator=(MiddleVB1 const&)
# 772| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const MiddleVB1 &
# 772| [CopyConstructor] void MiddleVB1::MiddleVB1(MiddleVB1 const&)
# 772| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const MiddleVB1 &
# 775| [Constructor] void MiddleVB1::MiddleVB1()
# 775| params:
@@ -6505,11 +6505,11 @@ ir.cpp:
# 778| ValueCategory = prvalue
# 781| [CopyAssignmentOperator] MiddleVB2& MiddleVB2::operator=(MiddleVB2 const&)
# 781| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const MiddleVB2 &
# 781| [CopyConstructor] void MiddleVB2::MiddleVB2(MiddleVB2 const&)
# 781| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const MiddleVB2 &
# 784| [Constructor] void MiddleVB2::MiddleVB2()
# 784| params:
@@ -6544,11 +6544,11 @@ ir.cpp:
# 787| ValueCategory = prvalue
# 790| [CopyAssignmentOperator] DerivedVB& DerivedVB::operator=(DerivedVB const&)
# 790| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const DerivedVB &
# 790| [CopyConstructor] void DerivedVB::DerivedVB(DerivedVB const&)
# 790| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const DerivedVB &
# 793| [Constructor] void DerivedVB::DerivedVB()
# 793| params:
@@ -7196,7 +7196,7 @@ ir.cpp:
# 840| 34: [ReturnStmt] return ...
# 842| [CopyAssignmentOperator] PolymorphicBase& PolymorphicBase::operator=(PolymorphicBase const&)
# 842| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const PolymorphicBase &
# 842| [Constructor] void PolymorphicBase::PolymorphicBase()
# 842| params:
@@ -7205,17 +7205,17 @@ ir.cpp:
# 842| 0: [ReturnStmt] return ...
# 842| [CopyConstructor] void PolymorphicBase::PolymorphicBase(PolymorphicBase const&)
# 842| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const PolymorphicBase &
# 843| [Destructor,VirtualFunction] void PolymorphicBase::~PolymorphicBase()
# 843| params:
# 846| [CopyAssignmentOperator] PolymorphicDerived& PolymorphicDerived::operator=(PolymorphicDerived const&)
# 846| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const PolymorphicDerived &
# 846| [MoveAssignmentOperator] PolymorphicDerived& PolymorphicDerived::operator=(PolymorphicDerived&&)
# 846| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] PolymorphicDerived &&
# 846| [Constructor] void PolymorphicDerived::PolymorphicDerived()
# 846| params:
@@ -7227,11 +7227,11 @@ ir.cpp:
# 846| 0: [ReturnStmt] return ...
# 846| [CopyConstructor] void PolymorphicDerived::PolymorphicDerived(PolymorphicDerived const&)
# 846| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const PolymorphicDerived &
# 846| [MoveConstructor] void PolymorphicDerived::PolymorphicDerived(PolymorphicDerived&&)
# 846| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] PolymorphicDerived &&
# 846| [Destructor,VirtualFunction] void PolymorphicDerived::~PolymorphicDerived()
# 846| params:
@@ -7764,111 +7764,111 @@ ir.cpp:
# 916| 2: [ReturnStmt] return ...
# 924| [Operator,TopLevelFunction] void* operator new(size_t, float)
# 924| params:
# 924| 0: [Parameter] p#0
# 924| 0: [Parameter] (unnamed parameter 0)
# 924| Type = [CTypedefType,Size_t] size_t
# 924| 1: [Parameter] p#1
# 924| 1: [Parameter] (unnamed parameter 1)
# 924| Type = [FloatType] float
# 925| [Operator,TopLevelFunction] void* operator new[](size_t, float)
# 925| params:
# 925| 0: [Parameter] p#0
# 925| 0: [Parameter] (unnamed parameter 0)
# 925| Type = [CTypedefType,Size_t] size_t
# 925| 1: [Parameter] p#1
# 925| 1: [Parameter] (unnamed parameter 1)
# 925| Type = [FloatType] float
# 926| [Operator,TopLevelFunction] void* operator new(size_t, std::align_val_t, float)
# 926| params:
# 926| 0: [Parameter] p#0
# 926| 0: [Parameter] (unnamed parameter 0)
# 926| Type = [CTypedefType,Size_t] size_t
# 926| 1: [Parameter] p#1
# 926| 1: [Parameter] (unnamed parameter 1)
# 926| Type = [ScopedEnum] align_val_t
# 926| 2: [Parameter] p#2
# 926| 2: [Parameter] (unnamed parameter 2)
# 926| Type = [FloatType] float
# 927| [Operator,TopLevelFunction] void* operator new[](size_t, std::align_val_t, float)
# 927| params:
# 927| 0: [Parameter] p#0
# 927| 0: [Parameter] (unnamed parameter 0)
# 927| Type = [CTypedefType,Size_t] size_t
# 927| 1: [Parameter] p#1
# 927| 1: [Parameter] (unnamed parameter 1)
# 927| Type = [ScopedEnum] align_val_t
# 927| 2: [Parameter] p#2
# 927| 2: [Parameter] (unnamed parameter 2)
# 927| Type = [FloatType] float
# 928| [Operator,TopLevelFunction] void operator delete(void*, float)
# 928| params:
# 928| 0: [Parameter] p#0
# 928| 0: [Parameter] (unnamed parameter 0)
# 928| Type = [VoidPointerType] void *
# 928| 1: [Parameter] p#1
# 928| 1: [Parameter] (unnamed parameter 1)
# 928| Type = [FloatType] float
# 929| [Operator,TopLevelFunction] void operator delete[](void*, float)
# 929| params:
# 929| 0: [Parameter] p#0
# 929| 0: [Parameter] (unnamed parameter 0)
# 929| Type = [VoidPointerType] void *
# 929| 1: [Parameter] p#1
# 929| 1: [Parameter] (unnamed parameter 1)
# 929| Type = [FloatType] float
# 930| [Operator,TopLevelFunction] void operator delete(void*, std::align_val_t, float)
# 930| params:
# 930| 0: [Parameter] p#0
# 930| 0: [Parameter] (unnamed parameter 0)
# 930| Type = [VoidPointerType] void *
# 930| 1: [Parameter] p#1
# 930| 1: [Parameter] (unnamed parameter 1)
# 930| Type = [ScopedEnum] align_val_t
# 930| 2: [Parameter] p#2
# 930| 2: [Parameter] (unnamed parameter 2)
# 930| Type = [FloatType] float
# 931| [Operator,TopLevelFunction] void operator delete[](void*, std::align_val_t, float)
# 931| params:
# 931| 0: [Parameter] p#0
# 931| 0: [Parameter] (unnamed parameter 0)
# 931| Type = [VoidPointerType] void *
# 931| 1: [Parameter] p#1
# 931| 1: [Parameter] (unnamed parameter 1)
# 931| Type = [ScopedEnum] align_val_t
# 931| 2: [Parameter] p#2
# 931| 2: [Parameter] (unnamed parameter 2)
# 931| Type = [FloatType] float
# 933| [CopyAssignmentOperator] SizedDealloc& SizedDealloc::operator=(SizedDealloc const&)
# 933| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const SizedDealloc &
# 933| [MoveAssignmentOperator] SizedDealloc& SizedDealloc::operator=(SizedDealloc&&)
# 933| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] SizedDealloc &&
# 935| [MemberFunction] void* SizedDealloc::operator new(size_t)
# 935| params:
# 935| 0: [Parameter] p#0
# 935| 0: [Parameter] (unnamed parameter 0)
# 935| Type = [CTypedefType,Size_t] size_t
# 936| [MemberFunction] void* SizedDealloc::operator new[](size_t)
# 936| params:
# 936| 0: [Parameter] p#0
# 936| 0: [Parameter] (unnamed parameter 0)
# 936| Type = [CTypedefType,Size_t] size_t
# 937| [MemberFunction] void SizedDealloc::operator delete(void*, size_t)
# 937| params:
# 937| 0: [Parameter] p#0
# 937| 0: [Parameter] (unnamed parameter 0)
# 937| Type = [VoidPointerType] void *
# 937| 1: [Parameter] p#1
# 937| 1: [Parameter] (unnamed parameter 1)
# 937| Type = [CTypedefType,Size_t] size_t
# 938| [MemberFunction] void SizedDealloc::operator delete[](void*, size_t)
# 938| params:
# 938| 0: [Parameter] p#0
# 938| 0: [Parameter] (unnamed parameter 0)
# 938| Type = [VoidPointerType] void *
# 938| 1: [Parameter] p#1
# 938| 1: [Parameter] (unnamed parameter 1)
# 938| Type = [CTypedefType,Size_t] size_t
# 941| [CopyAssignmentOperator] Overaligned& Overaligned::operator=(Overaligned const&)
# 941| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Overaligned &
# 941| [MoveAssignmentOperator] Overaligned& Overaligned::operator=(Overaligned&&)
# 941| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Overaligned &&
# 945| [CopyAssignmentOperator] DefaultCtorWithDefaultParam& DefaultCtorWithDefaultParam::operator=(DefaultCtorWithDefaultParam const&)
# 945| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const DefaultCtorWithDefaultParam &
# 945| [MoveAssignmentOperator] DefaultCtorWithDefaultParam& DefaultCtorWithDefaultParam::operator=(DefaultCtorWithDefaultParam&&)
# 945| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] DefaultCtorWithDefaultParam &&
# 945| [CopyConstructor] void DefaultCtorWithDefaultParam::DefaultCtorWithDefaultParam(DefaultCtorWithDefaultParam const&)
# 945| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const DefaultCtorWithDefaultParam &
# 945| [MoveConstructor] void DefaultCtorWithDefaultParam::DefaultCtorWithDefaultParam(DefaultCtorWithDefaultParam&&)
# 945| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] DefaultCtorWithDefaultParam &&
# 946| [Constructor] void DefaultCtorWithDefaultParam::DefaultCtorWithDefaultParam(double)
# 946| params:
@@ -8438,11 +8438,11 @@ ir.cpp:
# 1030| 5: [ReturnStmt] return ...
# 1032| [CopyAssignmentOperator] EmptyStruct& EmptyStruct::operator=(EmptyStruct const&)
# 1032| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const EmptyStruct &
# 1032| [MoveAssignmentOperator] EmptyStruct& EmptyStruct::operator=(EmptyStruct&&)
# 1032| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] EmptyStruct &&
# 1034| [TopLevelFunction] void EmptyStructInit()
# 1034| params:
@@ -8457,17 +8457,17 @@ ir.cpp:
# 1036| 1: [ReturnStmt] return ...
# 1038| [CopyAssignmentOperator] (lambda [] type at line 1038, col. 12)& (lambda [] type at line 1038, col. 12)::operator=((lambda [] type at line 1038, col. 12) const&)
# 1038| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1038, col. 12 &
# 1038| [CopyConstructor] void (lambda [] type at line 1038, col. 12)::(constructor)((lambda [] type at line 1038, col. 12) const&)
# 1038| [CopyConstructor] void (lambda [] type at line 1038, col. 12)::(unnamed constructor)((lambda [] type at line 1038, col. 12) const&)
# 1038| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1038, col. 12 &
# 1038| [MoveConstructor] void (lambda [] type at line 1038, col. 12)::(constructor)((lambda [] type at line 1038, col. 12)&&)
# 1038| [MoveConstructor] void (lambda [] type at line 1038, col. 12)::(unnamed constructor)((lambda [] type at line 1038, col. 12)&&)
# 1038| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] lambda [] type at line 1038, col. 12 &&
# 1038| [Constructor] void (lambda [] type at line 1038, col. 12)::(constructor)()
# 1038| [Constructor] void (lambda [] type at line 1038, col. 12)::(unnamed constructor)()
# 1038| params:
# 1038| [MemberFunction] void (lambda [] type at line 1038, col. 12)::_FUN()
# 1038| params:
@@ -8787,17 +8787,17 @@ ir.cpp:
# 1056| 15: [ReturnStmt] return ...
# 1041| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)& (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23) const&)
# 1041| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1041, col. 23 &
# 1041| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23) const&)
# 1041| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23) const&)
# 1041| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1041, col. 23 &
# 1041| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)&&)
# 1041| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)&&)
# 1041| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] lambda [] type at line 1041, col. 23 &&
# 1041| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::(constructor)()
# 1041| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::(unnamed constructor)()
# 1041| params:
# 1041| [MemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1041, col. 23)::_FUN(float)
# 1041| params:
@@ -8822,17 +8822,17 @@ ir.cpp:
# 1041| ValueCategory = prvalue(load)
# 1043| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)& (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21) const&)
# 1043| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1043, col. 21 &
# 1043| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21) const&)
# 1043| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21) const&)
# 1043| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1043, col. 21 &
# 1043| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)&&)
# 1043| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)&&)
# 1043| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] lambda [] type at line 1043, col. 21 &&
# 1043| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::(constructor)()
# 1043| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::(unnamed constructor)()
# 1043| params:
# 1043| [ConstMemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1043, col. 21)::operator()(float) const
# 1043| params:
@@ -8866,17 +8866,17 @@ ir.cpp:
# 1043| ValueCategory = prvalue(load)
# 1045| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)& (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21) const&)
# 1045| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1045, col. 21 &
# 1045| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21) const&)
# 1045| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21) const&)
# 1045| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1045, col. 21 &
# 1045| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)&&)
# 1045| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)&&)
# 1045| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] lambda [] type at line 1045, col. 21 &&
# 1045| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::(constructor)()
# 1045| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::(unnamed constructor)()
# 1045| params:
# 1045| [Destructor] void (void Lambda(int, String const&))::(lambda [] type at line 1045, col. 21)::~<unnamed>()
# 1045| params:
@@ -8918,17 +8918,17 @@ ir.cpp:
# 1045| ValueCategory = prvalue(load)
# 1047| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)& (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30) const&)
# 1047| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1047, col. 30 &
# 1047| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30) const&)
# 1047| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30) const&)
# 1047| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1047, col. 30 &
# 1047| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)&&)
# 1047| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)&&)
# 1047| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] lambda [] type at line 1047, col. 30 &&
# 1047| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::(constructor)()
# 1047| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::(unnamed constructor)()
# 1047| params:
# 1047| [ConstMemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1047, col. 30)::operator()(float) const
# 1047| params:
@@ -8957,17 +8957,17 @@ ir.cpp:
# 1047| ValueCategory = prvalue
# 1049| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)& (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30) const&)
# 1049| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1049, col. 30 &
# 1049| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30) const&)
# 1049| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30) const&)
# 1049| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1049, col. 30 &
# 1049| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)&&)
# 1049| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)&&)
# 1049| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] lambda [] type at line 1049, col. 30 &&
# 1049| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::(constructor)()
# 1049| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::(unnamed constructor)()
# 1049| params:
# 1049| [Destructor] void (void Lambda(int, String const&))::(lambda [] type at line 1049, col. 30)::~<unnamed>()
# 1049| params:
@@ -9007,17 +9007,17 @@ ir.cpp:
# 1049| ValueCategory = prvalue
# 1051| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)& (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32) const&)
# 1051| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1051, col. 32 &
# 1051| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32) const&)
# 1051| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32) const&)
# 1051| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1051, col. 32 &
# 1051| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)&&)
# 1051| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)&&)
# 1051| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] lambda [] type at line 1051, col. 32 &&
# 1051| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::(constructor)()
# 1051| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::(unnamed constructor)()
# 1051| params:
# 1051| [ConstMemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1051, col. 32)::operator()(float) const
# 1051| params:
@@ -9048,17 +9048,17 @@ ir.cpp:
# 1051| ValueCategory = prvalue(load)
# 1054| [CopyAssignmentOperator] (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)& (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::operator=((void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23) const&)
# 1054| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1054, col. 23 &
# 1054| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23) const&)
# 1054| [CopyConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23) const&)
# 1054| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const lambda [] type at line 1054, col. 23 &
# 1054| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::(constructor)((void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)&&)
# 1054| [MoveConstructor] void (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::(unnamed constructor)((void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)&&)
# 1054| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] lambda [] type at line 1054, col. 23 &&
# 1054| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::(constructor)()
# 1054| [Constructor] void (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::(unnamed constructor)()
# 1054| params:
# 1054| [ConstMemberFunction] char (void Lambda(int, String const&))::(lambda [] type at line 1054, col. 23)::operator()(float) const
# 1054| params:
@@ -9110,19 +9110,19 @@ ir.cpp:
# 1054| ValueCategory = prvalue(load)
# 1059| [CopyAssignmentOperator] vector<int>& vector<int>::operator=(vector<int> const&)
# 1059| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const vector<int> &
# 1059| [MoveAssignmentOperator] vector<int>& vector<int>::operator=(vector<int>&&)
# 1059| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] vector<int> &&
# 1060| [CopyAssignmentOperator] vector<int>::iterator& vector<int>::iterator::operator=(vector<int>::iterator const public&)
# 1060| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const iterator &
# 1060| [MoveAssignmentOperator] vector<int>::iterator& vector<int>::iterator::operator=(vector<int>::iterator&&)
# 1060| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] iterator &&
# 1062| [MemberFunction] vector<T>::iterator& vector<T>::iterator::operator++()
# 1062| params:
@@ -9319,15 +9319,15 @@ ir.cpp:
# 1129| 5: [ReturnStmt] return ...
# 1126| [TopLevelFunction] int f(float)
# 1126| params:
# 1126| 0: [Parameter] p#0
# 1126| 0: [Parameter] (unnamed parameter 0)
# 1126| Type = [FloatType] float
# 1127| [TopLevelFunction] int z(float)
# 1127| params:
# 1127| 0: [Parameter] p#0
# 1127| 0: [Parameter] (unnamed parameter 0)
# 1127| Type = [FloatType] float
# 1127| [TopLevelFunction] int w(float)
# 1127| params:
# 1127| 0: [Parameter] p#0
# 1127| 0: [Parameter] (unnamed parameter 0)
# 1127| Type = [FloatType] float
# 1137| [TopLevelFunction] void ExternDeclarationsInMacro()
# 1137| params:
@@ -10049,11 +10049,11 @@ ir.cpp:
# 1256| 3: [ReturnStmt] return ...
# 1258| [CopyAssignmentOperator] A& A::operator=(A const&)
# 1258| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const A &
# 1258| [MoveAssignmentOperator] A& A::operator=(A&&)
# 1258| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] A &&
# 1261| [MemberFunction] void A::static_member(A*, int)
# 1261| params:
@@ -10485,9 +10485,9 @@ ir.cpp:
# 1315| ValueCategory = prvalue(load)
# 1318| [Operator,TopLevelFunction] void* operator new(size_t, void*)
# 1318| params:
# 1318| 0: [Parameter] p#0
# 1318| 0: [Parameter] (unnamed parameter 0)
# 1318| Type = [CTypedefType,Size_t] size_t
# 1318| 1: [Parameter] p#1
# 1318| 1: [Parameter] (unnamed parameter 1)
# 1318| Type = [VoidPointerType] void *
# 1320| [TopLevelFunction] void f(int*)
# 1320| params:
@@ -10515,19 +10515,19 @@ ir.cpp:
perf-regression.cpp:
# 4| [CopyAssignmentOperator] Big& Big::operator=(Big const&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Big &
# 4| [MoveAssignmentOperator] Big& Big::operator=(Big&&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Big &&
# 4| [CopyConstructor] void Big::Big(Big const&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Big &
# 4| [MoveConstructor] void Big::Big(Big&&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Big &&
# 6| [Constructor] void Big::Big()
# 6| params:
@@ -10569,11 +10569,11 @@ struct_init.cpp:
# 2| Type = [VoidPointerType] void *
# 4| [CopyAssignmentOperator] Info& Info::operator=(Info const&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [LValueReferenceType] const Info &
# 4| [MoveAssignmentOperator] Info& Info::operator=(Info&&)
# 4| params:
#-----| 0: [Parameter] p#0
#-----| 0: [Parameter] (unnamed parameter 0)
#-----| Type = [RValueReferenceType] Info &&
# 16| [TopLevelFunction] void let_info_escape(Info*)
# 16| params:

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,17 @@
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | operator= |
| gnu.cpp:1:13:1:15 | gnu |
| gnu.cpp:2:28:2:28 | (constructor) |
| gnu.cpp:2:28:2:28 | (constructor) |
| gnu.cpp:2:28:2:28 | (constructor) |
| gnu.cpp:2:28:2:28 | (unnamed constructor) |
| gnu.cpp:2:28:2:28 | (unnamed constructor) |
| gnu.cpp:2:28:2:28 | (unnamed constructor) |
| gnu.cpp:2:28:2:28 | operator= |
| gnu.cpp:2:30:2:30 | _FUN |
| gnu.cpp:2:30:2:30 | operator auto (*)(int &)->int |
| gnu.cpp:2:30:2:30 | operator() |
| ms32.cpp:1:13:1:16 | ms32 |
| ms32.cpp:2:28:2:28 | (constructor) |
| ms32.cpp:2:28:2:28 | (constructor) |
| ms32.cpp:2:28:2:28 | (constructor) |
| ms32.cpp:2:28:2:28 | (unnamed constructor) |
| ms32.cpp:2:28:2:28 | (unnamed constructor) |
| ms32.cpp:2:28:2:28 | (unnamed constructor) |
| ms32.cpp:2:28:2:28 | operator= |
| ms32.cpp:2:30:2:30 | _FUN__cdecl |
| ms32.cpp:2:30:2:30 | _FUN__fastcall |
@@ -23,9 +23,9 @@
| ms32.cpp:2:30:2:30 | operator auto (__vectorcall *)(int &)->int |
| ms32.cpp:2:30:2:30 | operator() |
| ms.cpp:1:13:1:14 | ms |
| ms.cpp:2:28:2:28 | (constructor) |
| ms.cpp:2:28:2:28 | (constructor) |
| ms.cpp:2:28:2:28 | (constructor) |
| ms.cpp:2:28:2:28 | (unnamed constructor) |
| ms.cpp:2:28:2:28 | (unnamed constructor) |
| ms.cpp:2:28:2:28 | (unnamed constructor) |
| ms.cpp:2:28:2:28 | operator= |
| ms.cpp:2:30:2:30 | _FUN |
| ms.cpp:2:30:2:30 | _FUN__vectorcall |

View File

@@ -10,12 +10,12 @@
| captures.cpp:2:14:2:14 | definition of x |
| captures.cpp:2:14:2:14 | x |
| captures.cpp:2:17:6:3 | { ... } |
| captures.cpp:3:5:3:5 | (constructor) |
| captures.cpp:3:5:3:5 | (constructor) |
| captures.cpp:3:5:3:5 | (constructor) |
| captures.cpp:3:5:3:5 | declaration of (constructor) |
| captures.cpp:3:5:3:5 | declaration of (constructor) |
| captures.cpp:3:5:3:5 | definition of (constructor) |
| captures.cpp:3:5:3:5 | (unnamed constructor) |
| captures.cpp:3:5:3:5 | (unnamed constructor) |
| captures.cpp:3:5:3:5 | (unnamed constructor) |
| captures.cpp:3:5:3:5 | declaration of (unnamed constructor) |
| captures.cpp:3:5:3:5 | declaration of (unnamed constructor) |
| captures.cpp:3:5:3:5 | definition of (unnamed constructor) |
| captures.cpp:3:5:3:5 | definition of operator= |
| captures.cpp:3:5:3:5 | operator= |
| captures.cpp:3:5:5:5 | [...](...){...} |
@@ -47,12 +47,12 @@
| captures.cpp:8:14:8:14 | definition of x |
| captures.cpp:8:14:8:14 | x |
| captures.cpp:8:17:12:3 | { ... } |
| captures.cpp:9:5:9:5 | (constructor) |
| captures.cpp:9:5:9:5 | (constructor) |
| captures.cpp:9:5:9:5 | (constructor) |
| captures.cpp:9:5:9:5 | declaration of (constructor) |
| captures.cpp:9:5:9:5 | declaration of (constructor) |
| captures.cpp:9:5:9:5 | definition of (constructor) |
| captures.cpp:9:5:9:5 | (unnamed constructor) |
| captures.cpp:9:5:9:5 | (unnamed constructor) |
| captures.cpp:9:5:9:5 | (unnamed constructor) |
| captures.cpp:9:5:9:5 | declaration of (unnamed constructor) |
| captures.cpp:9:5:9:5 | declaration of (unnamed constructor) |
| captures.cpp:9:5:9:5 | definition of (unnamed constructor) |
| captures.cpp:9:5:9:5 | definition of operator= |
| captures.cpp:9:5:9:5 | operator= |
| captures.cpp:9:5:11:5 | [...](...){...} |
@@ -84,12 +84,12 @@
| captures.cpp:14:21:14:21 | definition of x |
| captures.cpp:14:21:14:21 | x |
| captures.cpp:14:24:18:3 | { ... } |
| captures.cpp:15:5:15:5 | (constructor) |
| captures.cpp:15:5:15:5 | (constructor) |
| captures.cpp:15:5:15:5 | (constructor) |
| captures.cpp:15:5:15:5 | declaration of (constructor) |
| captures.cpp:15:5:15:5 | declaration of (constructor) |
| captures.cpp:15:5:15:5 | definition of (constructor) |
| captures.cpp:15:5:15:5 | (unnamed constructor) |
| captures.cpp:15:5:15:5 | (unnamed constructor) |
| captures.cpp:15:5:15:5 | (unnamed constructor) |
| captures.cpp:15:5:15:5 | declaration of (unnamed constructor) |
| captures.cpp:15:5:15:5 | declaration of (unnamed constructor) |
| captures.cpp:15:5:15:5 | definition of (unnamed constructor) |
| captures.cpp:15:5:15:5 | definition of operator= |
| captures.cpp:15:5:15:5 | operator= |
| captures.cpp:15:5:17:5 | [...](...){...} |
@@ -122,16 +122,16 @@
| captures.cpp:22:18:24:3 | initializer for myLambda |
| captures.cpp:22:18:24:3 | y |
| captures.cpp:22:18:24:3 | {...} |
| captures.cpp:22:19:22:19 | (constructor) |
| captures.cpp:22:19:22:19 | (constructor) |
| captures.cpp:22:19:22:19 | (constructor) |
| captures.cpp:22:19:22:19 | (unnamed constructor) |
| captures.cpp:22:19:22:19 | (unnamed constructor) |
| captures.cpp:22:19:22:19 | (unnamed constructor) |
| captures.cpp:22:19:22:19 | Unknown literal |
| captures.cpp:22:19:22:19 | Unknown literal |
| captures.cpp:22:19:22:19 | constructor init of field x |
| captures.cpp:22:19:22:19 | constructor init of field y |
| captures.cpp:22:19:22:19 | declaration of (constructor) |
| captures.cpp:22:19:22:19 | definition of (constructor) |
| captures.cpp:22:19:22:19 | definition of (constructor) |
| captures.cpp:22:19:22:19 | declaration of (unnamed constructor) |
| captures.cpp:22:19:22:19 | definition of (unnamed constructor) |
| captures.cpp:22:19:22:19 | definition of (unnamed constructor) |
| captures.cpp:22:19:22:19 | definition of operator= |
| captures.cpp:22:19:22:19 | operator= |
| captures.cpp:22:19:22:19 | return ... |
@@ -182,14 +182,14 @@
| end_pos.cpp:9:14:11:5 | [...](...){...} |
| end_pos.cpp:9:14:11:5 | initializer for fp |
| end_pos.cpp:9:14:11:5 | {...} |
| end_pos.cpp:9:15:9:15 | (constructor) |
| end_pos.cpp:9:15:9:15 | (constructor) |
| end_pos.cpp:9:15:9:15 | (constructor) |
| end_pos.cpp:9:15:9:15 | (unnamed constructor) |
| end_pos.cpp:9:15:9:15 | (unnamed constructor) |
| end_pos.cpp:9:15:9:15 | (unnamed constructor) |
| end_pos.cpp:9:15:9:15 | Unknown literal |
| end_pos.cpp:9:15:9:15 | constructor init of field ii |
| end_pos.cpp:9:15:9:15 | declaration of (constructor) |
| end_pos.cpp:9:15:9:15 | definition of (constructor) |
| end_pos.cpp:9:15:9:15 | definition of (constructor) |
| end_pos.cpp:9:15:9:15 | declaration of (unnamed constructor) |
| end_pos.cpp:9:15:9:15 | definition of (unnamed constructor) |
| end_pos.cpp:9:15:9:15 | definition of (unnamed constructor) |
| end_pos.cpp:9:15:9:15 | definition of operator= |
| end_pos.cpp:9:15:9:15 | operator= |
| end_pos.cpp:9:15:9:15 | return ... |
@@ -208,6 +208,25 @@
| file://:0:0:0:0 | |
| file://:0:0:0:0 | (global namespace) |
| file://:0:0:0:0 | (reference to) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | ..()(..) |
| file://:0:0:0:0 | ..()(..) |
| file://:0:0:0:0 | ..(*)(..) |
@@ -289,24 +308,5 @@
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |
| file://:0:0:0:0 | void * |

View File

@@ -1,103 +1,103 @@
| <no scope> | false | 154 | 154 | (constructor) |
| <no scope> | false | 157 | 157 | (constructor) |
| <no scope> | false | 164 | 164 | return ... |
| <no scope> | false | 166 | 166 | { ... } |
| <no scope> | false | 167 | 167 | operator= |
| <no scope> | false | 173 | 173 | (constructor) |
| <no scope> | false | 175 | 175 | _FUN |
| <no scope> | false | 184 | 184 | operator auto (*)(int, int)->int |
| <no scope> | false | 190 | 190 | _FUN |
| <no scope> | false | 192 | 192 | return ... |
| <no scope> | false | 194 | 194 | { ... } |
| <no scope> | false | 195 | 195 | operator() |
| <no scope> | false | 206 | 206 | declaration |
| <no scope> | false | 212 | 212 | call to printf |
| <no scope> | false | 220 | 220 | Running with %d and %d\n |
| <no scope> | false | 221 | 221 | array to pointer conversion |
| <no scope> | false | 222 | 222 | (char *)... |
| <no scope> | false | 223 | 223 | x |
| <no scope> | false | 225 | 225 | y |
| <no scope> | false | 227 | 227 | ExprStmt |
| <no scope> | false | 232 | 232 | z |
| <no scope> | false | 234 | 234 | x |
| <no scope> | false | 236 | 236 | y |
| <no scope> | false | 238 | 238 | ... + ... |
| <no scope> | false | 240 | 240 | ... = ... |
| <no scope> | false | 242 | 242 | ExprStmt |
| <no scope> | false | 244 | 244 | call to printf |
| <no scope> | false | 250 | 250 | Returning %d %d\n |
| <no scope> | false | 251 | 251 | array to pointer conversion |
| <no scope> | false | 252 | 252 | (char *)... |
| <no scope> | false | 253 | 253 | z |
| <no scope> | false | 255 | 255 | z |
| <no scope> | false | 257 | 257 | ExprStmt |
| <no scope> | false | 259 | 259 | z |
| <no scope> | false | 261 | 261 | return ... |
| <no scope> | false | 263 | 263 | { ... } |
| <no scope> | true | 164 | 157 | |
| <no scope> | true | 166 | 164 | |
| <no scope> | true | 190 | 184 | |
| <no scope> | true | 192 | 190 | |
| <no scope> | true | 194 | 192 | |
| <no scope> | true | 206 | 227 | |
| <no scope> | true | 212 | 242 | |
| <no scope> | true | 220 | 223 | |
| <no scope> | true | 223 | 225 | |
| <no scope> | true | 225 | 212 | |
| <no scope> | true | 227 | 220 | |
| <no scope> | true | 232 | 240 | |
| <no scope> | true | 234 | 236 | |
| <no scope> | true | 236 | 238 | |
| <no scope> | true | 238 | 232 | |
| <no scope> | true | 240 | 257 | |
| <no scope> | true | 242 | 234 | |
| <no scope> | true | 244 | 261 | |
| <no scope> | true | 250 | 253 | |
| <no scope> | true | 253 | 255 | |
| <no scope> | true | 255 | 244 | |
| <no scope> | true | 257 | 250 | |
| <no scope> | true | 259 | 195 | |
| <no scope> | true | 261 | 259 | |
| <no scope> | true | 263 | 206 | |
| __va_list_tag::operator= | false | 92 | 92 | operator= |
| __va_list_tag::operator= | false | 99 | 99 | operator= |
| main | false | 147 | 147 | main |
| main | false | 269 | 269 | declaration |
| main | false | 271 | 271 | call to printf |
| main | false | 277 | 277 | Some results: %d %d\n |
| main | false | 278 | 278 | array to pointer conversion |
| main | false | 279 | 279 | (char *)... |
| main | false | 282 | 282 | call to operator() |
| main | false | 285 | 285 | [...](...){...} |
| main | false | 287 | 287 | initializer for myLambda |
| main | false | 291 | 291 | myLambda |
| main | false | 293 | 293 | (const lambda [] type at line 12, col. 21)... |
| main | false | 296 | 296 | 5 |
| main | false | 299 | 299 | 6 |
| main | false | 300 | 300 | call to operator() |
| main | false | 302 | 302 | myLambda |
| main | false | 304 | 304 | (const lambda [] type at line 12, col. 21)... |
| main | false | 307 | 307 | 7 |
| main | false | 310 | 310 | 8 |
| main | false | 311 | 311 | ExprStmt |
| main | false | 315 | 315 | 0 |
| main | false | 316 | 316 | return ... |
| main | false | 318 | 318 | { ... } |
| main | true | 269 | 287 | |
| main | true | 271 | 316 | |
| main | true | 277 | 296 | |
| main | true | 282 | 307 | |
| main | true | 285 | 311 | |
| main | true | 287 | 285 | |
| main | true | 291 | 282 | |
| main | true | 296 | 299 | |
| main | true | 299 | 291 | |
| main | true | 300 | 271 | |
| main | true | 302 | 300 | |
| main | true | 307 | 310 | |
| main | true | 310 | 302 | |
| main | true | 311 | 277 | |
| main | true | 315 | 147 | |
| main | true | 316 | 315 | |
| main | true | 318 | 269 | |
| printf | false | 209 | 209 | printf |
| <no scope> | false | 132 | 132 | (unnamed constructor) |
| <no scope> | false | 134 | 134 | (unnamed constructor) |
| <no scope> | false | 143 | 143 | return ... |
| <no scope> | false | 145 | 145 | { ... } |
| <no scope> | false | 146 | 146 | operator= |
| <no scope> | false | 154 | 154 | (unnamed constructor) |
| <no scope> | false | 156 | 156 | _FUN |
| <no scope> | false | 165 | 165 | operator auto (*)(int, int)->int |
| <no scope> | false | 172 | 172 | return ... |
| <no scope> | false | 174 | 174 | _FUN |
| <no scope> | false | 176 | 176 | { ... } |
| <no scope> | false | 180 | 180 | operator() |
| <no scope> | false | 188 | 188 | declaration |
| <no scope> | false | 193 | 193 | ExprStmt |
| <no scope> | false | 199 | 199 | call to printf |
| <no scope> | false | 203 | 203 | Running with %d and %d\n |
| <no scope> | false | 208 | 208 | array to pointer conversion |
| <no scope> | false | 209 | 209 | (char *)... |
| <no scope> | false | 210 | 210 | x |
| <no scope> | false | 212 | 212 | y |
| <no scope> | false | 214 | 214 | ExprStmt |
| <no scope> | false | 216 | 216 | z |
| <no scope> | false | 218 | 218 | x |
| <no scope> | false | 220 | 220 | y |
| <no scope> | false | 222 | 222 | ... + ... |
| <no scope> | false | 224 | 224 | ... = ... |
| <no scope> | false | 226 | 226 | ExprStmt |
| <no scope> | false | 228 | 228 | call to printf |
| <no scope> | false | 232 | 232 | Returning %d %d\n |
| <no scope> | false | 235 | 235 | array to pointer conversion |
| <no scope> | false | 236 | 236 | (char *)... |
| <no scope> | false | 237 | 237 | z |
| <no scope> | false | 239 | 239 | z |
| <no scope> | false | 241 | 241 | return ... |
| <no scope> | false | 243 | 243 | z |
| <no scope> | false | 245 | 245 | { ... } |
| <no scope> | true | 143 | 134 | |
| <no scope> | true | 145 | 143 | |
| <no scope> | true | 172 | 174 | |
| <no scope> | true | 174 | 165 | |
| <no scope> | true | 176 | 172 | |
| <no scope> | true | 188 | 193 | |
| <no scope> | true | 193 | 203 | |
| <no scope> | true | 199 | 214 | |
| <no scope> | true | 203 | 210 | |
| <no scope> | true | 210 | 212 | |
| <no scope> | true | 212 | 199 | |
| <no scope> | true | 214 | 218 | |
| <no scope> | true | 216 | 224 | |
| <no scope> | true | 218 | 220 | |
| <no scope> | true | 220 | 222 | |
| <no scope> | true | 222 | 216 | |
| <no scope> | true | 224 | 226 | |
| <no scope> | true | 226 | 232 | |
| <no scope> | true | 228 | 241 | |
| <no scope> | true | 232 | 237 | |
| <no scope> | true | 237 | 239 | |
| <no scope> | true | 239 | 228 | |
| <no scope> | true | 241 | 243 | |
| <no scope> | true | 243 | 180 | |
| <no scope> | true | 245 | 188 | |
| __va_list_tag::operator= | false | 57 | 57 | operator= |
| __va_list_tag::operator= | false | 63 | 63 | operator= |
| main | false | 126 | 126 | main |
| main | false | 251 | 251 | declaration |
| main | false | 254 | 254 | [...](...){...} |
| main | false | 256 | 256 | initializer for myLambda |
| main | false | 260 | 260 | ExprStmt |
| main | false | 262 | 262 | call to printf |
| main | false | 266 | 266 | Some results: %d %d\n |
| main | false | 269 | 269 | array to pointer conversion |
| main | false | 270 | 270 | (char *)... |
| main | false | 273 | 273 | call to operator() |
| main | false | 275 | 275 | myLambda |
| main | false | 277 | 277 | (const lambda [] type at line 12, col. 21)... |
| main | false | 280 | 280 | 5 |
| main | false | 283 | 283 | 6 |
| main | false | 284 | 284 | call to operator() |
| main | false | 286 | 286 | myLambda |
| main | false | 288 | 288 | (const lambda [] type at line 12, col. 21)... |
| main | false | 291 | 291 | 7 |
| main | false | 294 | 294 | 8 |
| main | false | 295 | 295 | return ... |
| main | false | 299 | 299 | 0 |
| main | false | 300 | 300 | { ... } |
| main | true | 251 | 256 | |
| main | true | 254 | 260 | |
| main | true | 256 | 254 | |
| main | true | 260 | 266 | |
| main | true | 262 | 295 | |
| main | true | 266 | 280 | |
| main | true | 273 | 291 | |
| main | true | 275 | 273 | |
| main | true | 280 | 283 | |
| main | true | 283 | 275 | |
| main | true | 284 | 262 | |
| main | true | 286 | 284 | |
| main | true | 291 | 294 | |
| main | true | 294 | 286 | |
| main | true | 295 | 299 | |
| main | true | 299 | 126 | |
| main | true | 300 | 251 | |
| printf | false | 196 | 196 | printf |

View File

@@ -1,8 +1,8 @@
| file://:0:0:0:0 | { ... } | lambda_cfg.cpp:12:24:12:24 | operator auto (*)(int, int)->int |
| lambda_cfg.cpp:11:16:23:1 | { ... } | lambda_cfg.cpp:11:5:11:8 | main |
| lambda_cfg.cpp:12:5:18:6 | declaration | lambda_cfg.cpp:11:5:11:8 | main |
| lambda_cfg.cpp:12:21:12:21 | return ... | lambda_cfg.cpp:12:21:12:21 | (constructor) |
| lambda_cfg.cpp:12:21:12:21 | { ... } | lambda_cfg.cpp:12:21:12:21 | (constructor) |
| lambda_cfg.cpp:12:21:12:21 | return ... | lambda_cfg.cpp:12:21:12:21 | (unnamed constructor) |
| lambda_cfg.cpp:12:21:12:21 | { ... } | lambda_cfg.cpp:12:21:12:21 | (unnamed constructor) |
| lambda_cfg.cpp:12:24:12:24 | return ... | lambda_cfg.cpp:12:24:12:24 | operator auto (*)(int, int)->int |
| lambda_cfg.cpp:12:46:18:5 | { ... } | lambda_cfg.cpp:12:24:12:24 | operator() |
| lambda_cfg.cpp:13:9:13:14 | declaration | lambda_cfg.cpp:12:24:12:24 | operator() |

View File

@@ -1,9 +1,9 @@
| file://:0:0:0:0 | (unnamed parameter 0) | false |
| file://:0:0:0:0 | (unnamed parameter 0) | false |
| file://:0:0:0:0 | __super | false |
| file://:0:0:0:0 | __va_list_tag | false |
| file://:0:0:0:0 | operator= | false |
| file://:0:0:0:0 | operator= | false |
| file://:0:0:0:0 | p#0 | false |
| file://:0:0:0:0 | p#0 | false |
| test.cpp:0:0:0:0 | test.cpp | false |
| test.cpp:2:1:2:61 | #define FOO class S{int i; void f(void) { int j; return; } }; | false |
| test.cpp:4:1:4:1 | S | false |

View File

@@ -1,4 +1,4 @@
| 0 | arity2.c:1:7:1:9 | p#0 | 1 | 3 |
| 0 | incompatible_decl.c:2:9:2:13 | p#0 | 1 | 3 |
| 0 | main.c:2:9:2:13 | p#0 | 1 | 3 |
| 1 | arity2.c:1:12:1:14 | p#1 | 1 | 1 |
| 0 | arity2.c:1:7:1:9 | (unnamed parameter 0) | 1 | 3 |
| 0 | incompatible_decl.c:2:9:2:13 | (unnamed parameter 0) | 1 | 3 |
| 0 | main.c:2:9:2:13 | (unnamed parameter 0) | 1 | 3 |
| 1 | arity2.c:1:12:1:14 | (unnamed parameter 1) | 1 | 1 |

View File

@@ -1,18 +1,18 @@
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | (unnamed parameter 0) | <none> | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | (unnamed parameter 0) | <none> | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | __va_list_tag | __va_list_tag | true |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | fp_offset | __va_list_tag::fp_offset | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | gp_offset | __va_list_tag::gp_offset | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= | __va_list_tag::operator= | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= | __va_list_tag::operator= | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | overflow_arg_area | __va_list_tag::overflow_arg_area | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | p#0 | <none> | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | p#0 | <none> | false |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | reg_save_area | __va_list_tag::reg_save_area | false |
| file://:0:0:0:0 | (global namespace) | namespaces.cpp:40:5:40:13 | globalInt | globalInt | true |
| file://:0:0:0:0 | (global namespace) | namespaces.cpp:42:6:42:18 | globalIntUser | globalIntUser | true |
| file://:0:0:0:0 | <none> | file://:0:0:0:0 | auto | <none> | false |
| file://:0:0:0:0 | B | namespaces.cpp:32:7:32:7 | x | B::x | true |
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 | <none> | false |
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | p#0 | <none> | false |
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | (unnamed parameter 0) | <none> | false |
| namespaces.cpp:11:13:11:13 | C::D | file://:0:0:0:0 | (unnamed parameter 0) | <none> | false |
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:13:17:13:17 | f | C::D::f | true |
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | E | C::D::E | true |
| namespaces.cpp:11:13:11:13 | C::D | namespaces.cpp:15:12:15:12 | operator= | C::D::E::operator= | false |

View File

@@ -1,11 +1,11 @@
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | __va_list_tag |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | fp_offset |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | gp_offset |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | (global namespace) | file://:0:0:0:0 | reg_save_area |
| file://:0:0:0:0 | (global namespace) | same_name.cpp:2:11:2:11 | c |
| same_name.cpp:4:11:4:21 | namespace_a | same_name.cpp:6:12:6:12 | c |

View File

@@ -1,8 +1,8 @@
| 0 | Foo && | p#0 |
| 0 | const Foo & | p#0 |
| 0 | Foo && | (unnamed parameter 0) |
| 0 | const Foo & | (unnamed parameter 0) |
| 6 | Foo | x |
| 8 | const char * | y |
| 10 | int | z |
| 17 | Foo | p#0 |
| 19 | const char * | p#0 |
| 21 | int | p#0 |
| 17 | Foo | (unnamed parameter 0) |
| 19 | const char * | (unnamed parameter 0) |
| 21 | int | (unnamed parameter 0) |

View File

@@ -2,4 +2,4 @@
| parameters.cpp:18:6:18:13 | Dispatch | 1 | a | true |
| parameters.cpp:18:6:18:13 | Dispatch | 2 | b | true |
| parameters.cpp:18:6:18:13 | Dispatch | 3 | c | true |
| parameters.cpp:18:6:18:13 | Dispatch | 4 | p#4 | false |
| parameters.cpp:18:6:18:13 | Dispatch | 4 | (unnamed parameter 4) | false |

View File

@@ -1,11 +1,11 @@
| pointsto | false | 0 | 0 | set: {gp_offset} |
| pointsto | false | 1 | 1 | set: {fp_offset} |
| pointsto | false | 2 | 2 | set: {overflow_arg_area} |
| pointsto | false | 3 | 3 | set: {reg_save_area} |
| pointsto | false | 4 | 4 | set: {operator=} |
| pointsto | false | 5 | 5 | set: {p#0} |
| pointsto | false | 6 | 6 | set: {operator=} |
| pointsto | false | 7 | 7 | set: {p#0} |
| pointsto | false | 0 | 0 | set: {operator=} |
| pointsto | false | 1 | 1 | set: {(unnamed parameter 0)} |
| pointsto | false | 2 | 2 | set: {operator=} |
| pointsto | false | 3 | 3 | set: {(unnamed parameter 0)} |
| pointsto | false | 4 | 4 | set: {gp_offset} |
| pointsto | false | 5 | 5 | set: {fp_offset} |
| pointsto | false | 6 | 6 | set: {overflow_arg_area} |
| pointsto | false | 7 | 7 | set: {reg_save_area} |
| pointsto | false | 8 | 8 | set: {MyStruct} |
| pointsto | false | 9 | 9 | set: {test} |
| pointsto | false | 10 | 10 | set: {cond} |
@@ -25,151 +25,151 @@
| pointsto | false | 24 | 24 | set: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} |
| pointsto | false | 25 | 25 | set: {v} |
| pointsto | false | 26 | 26 | set: {operator=} |
| pointsto | false | 27 | 27 | set: {p#0} |
| pointsto | false | 27 | 27 | set: {(unnamed parameter 0)} |
| pointsto | false | 28 | 28 | set: {operator=} |
| pointsto | false | 29 | 29 | set: {p#0} |
| pointsto | false | 29 | 29 | set: {(unnamed parameter 0)} |
| pointsto | false | 30 | 30 | set: {data} |
| pointsto | false | 31 | 31 | set: {(unsigned long)..., 10} |
| pointsto | false | 94 | 94 | file://:0:0:0:0\ngp_offset |
| pointsto | false | 96 | 96 | file://:0:0:0:0\nfp_offset |
| pointsto | false | 98 | 98 | file://:0:0:0:0\noverflow_arg_area |
| pointsto | false | 101 | 101 | file://:0:0:0:0\nreg_save_area |
| pointsto | false | 104 | 104 | <no location>\noperator= |
| pointsto | false | 105 | 105 | <no location>\np#0 |
| pointsto | false | 109 | 109 | <no location>\noperator= |
| pointsto | false | 110 | 110 | <no location>\np#0 |
| pointsto | false | 156 | 156 | test.cpp:2:16:2:23\nMyStruct |
| pointsto | false | 161 | 161 | test.cpp:12:6:12:9\ntest |
| pointsto | false | 162 | 162 | test.cpp:12:15:12:18\ncond |
| pointsto | false | 165 | 165 | test.cpp:14:6:14:9\ncond |
| pointsto | false | 166 | 166 | test.cpp:14:6:14:9\n(bool)... |
| pointsto | false | 169 | 169 | test.cpp:7:11:7:12\np1 |
| pointsto | false | 170 | 170 | test.cpp:16:3:16:4\np1 |
| pointsto | false | 171 | 171 | test.cpp:6:10:6:10\na |
| pointsto | false | 172 | 172 | test.cpp:16:9:16:9\na |
| pointsto | false | 173 | 173 | test.cpp:16:8:16:9\n& ... |
| pointsto | false | 174 | 174 | test.cpp:16:3:16:9\n... = ... |
| pointsto | false | 177 | 177 | test.cpp:18:3:18:4\np1 |
| pointsto | false | 178 | 178 | test.cpp:6:13:6:13\nb |
| pointsto | false | 179 | 179 | test.cpp:18:9:18:9\nb |
| pointsto | false | 180 | 180 | test.cpp:18:8:18:9\n& ... |
| pointsto | false | 181 | 181 | test.cpp:18:3:18:9\n... = ... |
| pointsto | false | 185 | 185 | test.cpp:7:16:7:17\np2 |
| pointsto | false | 186 | 186 | test.cpp:20:2:20:3\np2 |
| pointsto | false | 187 | 187 | test.cpp:20:7:20:8\np1 |
| pointsto | false | 188 | 188 | test.cpp:20:2:20:8\n... = ... |
| pointsto | false | 190 | 190 | test.cpp:7:21:7:22\np3 |
| pointsto | false | 191 | 191 | test.cpp:22:2:22:3\np3 |
| pointsto | false | 192 | 192 | test.cpp:6:16:6:16\nc |
| pointsto | false | 193 | 193 | test.cpp:22:8:22:8\nc |
| pointsto | false | 194 | 194 | test.cpp:22:7:22:8\n& ... |
| pointsto | false | 195 | 195 | test.cpp:22:2:22:8\n... = ... |
| pointsto | false | 199 | 199 | test.cpp:8:12:8:14\npp1 |
| pointsto | false | 200 | 200 | test.cpp:23:2:23:4\npp1 |
| pointsto | false | 201 | 201 | test.cpp:23:9:23:10\np3 |
| pointsto | false | 202 | 202 | test.cpp:23:8:23:10\n& ... |
| pointsto | false | 203 | 203 | test.cpp:23:2:23:10\n... = ... |
| pointsto | false | 205 | 205 | test.cpp:24:2:24:3\np3 |
| pointsto | false | 206 | 206 | test.cpp:6:19:6:19\nd |
| pointsto | false | 207 | 207 | test.cpp:24:8:24:8\nd |
| pointsto | false | 208 | 208 | test.cpp:24:7:24:8\n& ... |
| pointsto | false | 209 | 209 | test.cpp:24:2:24:8\n... = ... |
| pointsto | false | 211 | 211 | test.cpp:8:19:8:21\npp2 |
| pointsto | false | 212 | 212 | test.cpp:25:2:25:4\npp2 |
| pointsto | false | 213 | 213 | test.cpp:25:9:25:10\np3 |
| pointsto | false | 214 | 214 | test.cpp:25:8:25:10\n& ... |
| pointsto | false | 215 | 215 | test.cpp:25:2:25:10\n... = ... |
| pointsto | false | 217 | 217 | test.cpp:10:6:10:8\nuse |
| pointsto | false | 221 | 221 | test.cpp:27:6:27:6\na |
| pointsto | false | 222 | 222 | test.cpp:27:9:27:9\nb |
| pointsto | false | 223 | 223 | test.cpp:27:12:27:12\nc |
| pointsto | false | 224 | 224 | test.cpp:27:15:27:15\nd |
| pointsto | false | 225 | 225 | test.cpp:27:18:27:19\np1 |
| pointsto | false | 226 | 226 | test.cpp:27:22:27:23\np2 |
| pointsto | false | 227 | 227 | test.cpp:27:26:27:27\np3 |
| pointsto | false | 228 | 228 | test.cpp:27:30:27:32\npp1 |
| pointsto | false | 229 | 229 | test.cpp:27:35:27:37\npp2 |
| pointsto | false | 233 | 233 | test.cpp:10:19:10:19\nv |
| pointsto | false | 235 | 235 | test.cpp:2:16:2:16\noperator= |
| pointsto | false | 237 | 237 | file://:0:0:0:0\np#0 |
| pointsto | false | 242 | 242 | test.cpp:2:16:2:16\noperator= |
| pointsto | false | 243 | 243 | file://:0:0:0:0\np#0 |
| pointsto | false | 247 | 247 | test.cpp:3:6:3:9\ndata |
| pointsto | false | 250 | 250 | test.cpp:3:11:3:12\n10 |
| pointsto | false | 251 | 251 | test.cpp:3:11:3:12\n(unsigned long)... |
| pointsto | true | 0 | 94 | pt: {gp_offset} -> gp_offset |
| pointsto | true | 1 | 96 | pt: {fp_offset} -> fp_offset |
| pointsto | true | 2 | 98 | pt: {overflow_arg_area} -> overflow_arg_area |
| pointsto | true | 3 | 101 | pt: {reg_save_area} -> reg_save_area |
| pointsto | true | 4 | 104 | pt: {operator=} -> operator= |
| pointsto | true | 5 | 105 | pt: {p#0} -> p#0 |
| pointsto | true | 6 | 109 | pt: {operator=} -> operator= |
| pointsto | true | 7 | 110 | pt: {p#0} -> p#0 |
| pointsto | true | 8 | 156 | pt: {MyStruct} -> MyStruct |
| pointsto | true | 9 | 161 | pt: {test} -> test |
| pointsto | true | 10 | 162 | pt: {cond} -> cond |
| pointsto | true | 11 | 165 | pt: {(bool)..., cond} -> cond |
| pointsto | true | 11 | 166 | pt: {(bool)..., cond} -> (bool)... |
| pointsto | true | 12 | 169 | pt: {p1, p1, p1} -> p1 |
| pointsto | true | 12 | 170 | pt: {p1, p1, p1} -> p1 |
| pointsto | true | 12 | 177 | pt: {p1, p1, p1} -> p1 |
| pointsto | false | 82 | 82 | <no location>\noperator= |
| pointsto | false | 86 | 86 | <no location>\n(unnamed parameter 0) |
| pointsto | false | 87 | 87 | <no location>\noperator= |
| pointsto | false | 89 | 89 | <no location>\n(unnamed parameter 0) |
| pointsto | false | 90 | 90 | file://:0:0:0:0\ngp_offset |
| pointsto | false | 92 | 92 | file://:0:0:0:0\nfp_offset |
| pointsto | false | 94 | 94 | file://:0:0:0:0\noverflow_arg_area |
| pointsto | false | 97 | 97 | file://:0:0:0:0\nreg_save_area |
| pointsto | false | 148 | 148 | test.cpp:2:16:2:23\nMyStruct |
| pointsto | false | 154 | 154 | test.cpp:12:6:12:9\ntest |
| pointsto | false | 155 | 155 | test.cpp:12:15:12:18\ncond |
| pointsto | false | 159 | 159 | test.cpp:14:6:14:9\ncond |
| pointsto | false | 160 | 160 | test.cpp:14:6:14:9\n(bool)... |
| pointsto | false | 162 | 162 | test.cpp:7:11:7:12\np1 |
| pointsto | false | 165 | 165 | test.cpp:16:3:16:4\np1 |
| pointsto | false | 166 | 166 | test.cpp:6:10:6:10\na |
| pointsto | false | 167 | 167 | test.cpp:16:9:16:9\na |
| pointsto | false | 168 | 168 | test.cpp:16:8:16:9\n& ... |
| pointsto | false | 169 | 169 | test.cpp:16:3:16:9\n... = ... |
| pointsto | false | 172 | 172 | test.cpp:18:3:18:4\np1 |
| pointsto | false | 173 | 173 | test.cpp:6:13:6:13\nb |
| pointsto | false | 174 | 174 | test.cpp:18:9:18:9\nb |
| pointsto | false | 175 | 175 | test.cpp:18:8:18:9\n& ... |
| pointsto | false | 176 | 176 | test.cpp:18:3:18:9\n... = ... |
| pointsto | false | 179 | 179 | test.cpp:7:16:7:17\np2 |
| pointsto | false | 180 | 180 | test.cpp:20:2:20:3\np2 |
| pointsto | false | 181 | 181 | test.cpp:20:7:20:8\np1 |
| pointsto | false | 182 | 182 | test.cpp:20:2:20:8\n... = ... |
| pointsto | false | 184 | 184 | test.cpp:7:21:7:22\np3 |
| pointsto | false | 185 | 185 | test.cpp:22:2:22:3\np3 |
| pointsto | false | 186 | 186 | test.cpp:6:16:6:16\nc |
| pointsto | false | 187 | 187 | test.cpp:22:8:22:8\nc |
| pointsto | false | 188 | 188 | test.cpp:22:7:22:8\n& ... |
| pointsto | false | 189 | 189 | test.cpp:22:2:22:8\n... = ... |
| pointsto | false | 191 | 191 | test.cpp:8:12:8:14\npp1 |
| pointsto | false | 194 | 194 | test.cpp:23:2:23:4\npp1 |
| pointsto | false | 195 | 195 | test.cpp:23:9:23:10\np3 |
| pointsto | false | 196 | 196 | test.cpp:23:8:23:10\n& ... |
| pointsto | false | 197 | 197 | test.cpp:23:2:23:10\n... = ... |
| pointsto | false | 199 | 199 | test.cpp:24:2:24:3\np3 |
| pointsto | false | 200 | 200 | test.cpp:6:19:6:19\nd |
| pointsto | false | 201 | 201 | test.cpp:24:8:24:8\nd |
| pointsto | false | 202 | 202 | test.cpp:24:7:24:8\n& ... |
| pointsto | false | 203 | 203 | test.cpp:24:2:24:8\n... = ... |
| pointsto | false | 205 | 205 | test.cpp:8:19:8:21\npp2 |
| pointsto | false | 206 | 206 | test.cpp:25:2:25:4\npp2 |
| pointsto | false | 207 | 207 | test.cpp:25:9:25:10\np3 |
| pointsto | false | 208 | 208 | test.cpp:25:8:25:10\n& ... |
| pointsto | false | 209 | 209 | test.cpp:25:2:25:10\n... = ... |
| pointsto | false | 211 | 211 | test.cpp:10:6:10:8\nuse |
| pointsto | false | 215 | 215 | test.cpp:27:6:27:6\na |
| pointsto | false | 216 | 216 | test.cpp:27:9:27:9\nb |
| pointsto | false | 217 | 217 | test.cpp:27:12:27:12\nc |
| pointsto | false | 218 | 218 | test.cpp:27:15:27:15\nd |
| pointsto | false | 219 | 219 | test.cpp:27:18:27:19\np1 |
| pointsto | false | 220 | 220 | test.cpp:27:22:27:23\np2 |
| pointsto | false | 221 | 221 | test.cpp:27:26:27:27\np3 |
| pointsto | false | 222 | 222 | test.cpp:27:30:27:32\npp1 |
| pointsto | false | 223 | 223 | test.cpp:27:35:27:37\npp2 |
| pointsto | false | 226 | 226 | test.cpp:10:19:10:19\nv |
| pointsto | false | 227 | 227 | test.cpp:2:16:2:16\noperator= |
| pointsto | false | 230 | 230 | file://:0:0:0:0\n(unnamed parameter 0) |
| pointsto | false | 233 | 233 | test.cpp:2:16:2:16\noperator= |
| pointsto | false | 236 | 236 | file://:0:0:0:0\n(unnamed parameter 0) |
| pointsto | false | 240 | 240 | test.cpp:3:6:3:9\ndata |
| pointsto | false | 243 | 243 | test.cpp:3:11:3:12\n10 |
| pointsto | false | 244 | 244 | test.cpp:3:11:3:12\n(unsigned long)... |
| pointsto | true | 0 | 82 | pt: {operator=} -> operator= |
| pointsto | true | 1 | 86 | pt: {(unnamed parameter 0)} -> (unnamed parameter 0) |
| pointsto | true | 2 | 87 | pt: {operator=} -> operator= |
| pointsto | true | 3 | 89 | pt: {(unnamed parameter 0)} -> (unnamed parameter 0) |
| pointsto | true | 4 | 90 | pt: {gp_offset} -> gp_offset |
| pointsto | true | 5 | 92 | pt: {fp_offset} -> fp_offset |
| pointsto | true | 6 | 94 | pt: {overflow_arg_area} -> overflow_arg_area |
| pointsto | true | 7 | 97 | pt: {reg_save_area} -> reg_save_area |
| pointsto | true | 8 | 148 | pt: {MyStruct} -> MyStruct |
| pointsto | true | 9 | 154 | pt: {test} -> test |
| pointsto | true | 10 | 155 | pt: {cond} -> cond |
| pointsto | true | 11 | 159 | pt: {(bool)..., cond} -> cond |
| pointsto | true | 11 | 160 | pt: {(bool)..., cond} -> (bool)... |
| pointsto | true | 12 | 162 | pt: {p1, p1, p1} -> p1 |
| pointsto | true | 12 | 165 | pt: {p1, p1, p1} -> p1 |
| pointsto | true | 12 | 172 | pt: {p1, p1, p1} -> p1 |
| pointsto | true | 13 | 8 | sf |
| pointsto | true | 13 | 16 | sf |
| pointsto | true | 13 | 171 | pt: {a, a} -> a |
| pointsto | true | 13 | 172 | pt: {a, a} -> a |
| pointsto | true | 13 | 166 | pt: {a, a} -> a |
| pointsto | true | 13 | 167 | pt: {a, a} -> a |
| pointsto | true | 14 | 8 | sf |
| pointsto | true | 14 | 16 | sf |
| pointsto | true | 14 | 178 | pt: {b, b} -> b |
| pointsto | true | 14 | 179 | pt: {b, b} -> b |
| pointsto | true | 15 | 185 | pt: {p2, p2} -> p2 |
| pointsto | true | 15 | 186 | pt: {p2, p2} -> p2 |
| pointsto | true | 16 | 173 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> & ... |
| pointsto | true | 16 | 174 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> ... = ... |
| pointsto | true | 16 | 180 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> & ... |
| pointsto | true | 16 | 181 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> ... = ... |
| pointsto | true | 16 | 187 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> p1 |
| pointsto | true | 16 | 188 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> ... = ... |
| pointsto | true | 16 | 225 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> p1 |
| pointsto | true | 16 | 226 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> p2 |
| pointsto | true | 14 | 173 | pt: {b, b} -> b |
| pointsto | true | 14 | 174 | pt: {b, b} -> b |
| pointsto | true | 15 | 179 | pt: {p2, p2} -> p2 |
| pointsto | true | 15 | 180 | pt: {p2, p2} -> p2 |
| pointsto | true | 16 | 168 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> & ... |
| pointsto | true | 16 | 169 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> ... = ... |
| pointsto | true | 16 | 175 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> & ... |
| pointsto | true | 16 | 176 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> ... = ... |
| pointsto | true | 16 | 181 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> p1 |
| pointsto | true | 16 | 182 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> ... = ... |
| pointsto | true | 16 | 219 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> p1 |
| pointsto | true | 16 | 220 | pt: {& ..., & ..., ... = ..., ... = ..., ... = ..., p1, p1, p2} -> p2 |
| pointsto | true | 17 | 8 | sf |
| pointsto | true | 17 | 23 | sf |
| pointsto | true | 17 | 192 | pt: {c, c} -> c |
| pointsto | true | 17 | 193 | pt: {c, c} -> c |
| pointsto | true | 18 | 199 | pt: {pp1, pp1} -> pp1 |
| pointsto | true | 18 | 200 | pt: {pp1, pp1} -> pp1 |
| pointsto | true | 17 | 186 | pt: {c, c} -> c |
| pointsto | true | 17 | 187 | pt: {c, c} -> c |
| pointsto | true | 18 | 191 | pt: {pp1, pp1} -> pp1 |
| pointsto | true | 18 | 194 | pt: {pp1, pp1} -> pp1 |
| pointsto | true | 19 | 8 | sf |
| pointsto | true | 19 | 23 | sf |
| pointsto | true | 19 | 206 | pt: {d, d} -> d |
| pointsto | true | 19 | 207 | pt: {d, d} -> d |
| pointsto | true | 20 | 211 | pt: {pp2, pp2} -> pp2 |
| pointsto | true | 20 | 212 | pt: {pp2, pp2} -> pp2 |
| pointsto | true | 21 | 217 | pt: {use} -> use |
| pointsto | true | 22 | 221 | pt: {a, b, c, d} -> a |
| pointsto | true | 22 | 222 | pt: {a, b, c, d} -> b |
| pointsto | true | 22 | 223 | pt: {a, b, c, d} -> c |
| pointsto | true | 22 | 224 | pt: {a, b, c, d} -> d |
| pointsto | true | 23 | 194 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> & ... |
| pointsto | true | 23 | 195 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> ... = ... |
| pointsto | true | 23 | 208 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> & ... |
| pointsto | true | 23 | 209 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> ... = ... |
| pointsto | true | 23 | 227 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> p3 |
| pointsto | true | 24 | 190 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 191 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 201 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 202 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> & ... |
| pointsto | true | 24 | 203 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> ... = ... |
| pointsto | true | 24 | 205 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 213 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 214 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> & ... |
| pointsto | true | 24 | 215 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> ... = ... |
| pointsto | true | 24 | 228 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> pp1 |
| pointsto | true | 24 | 229 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> pp2 |
| pointsto | true | 19 | 200 | pt: {d, d} -> d |
| pointsto | true | 19 | 201 | pt: {d, d} -> d |
| pointsto | true | 20 | 205 | pt: {pp2, pp2} -> pp2 |
| pointsto | true | 20 | 206 | pt: {pp2, pp2} -> pp2 |
| pointsto | true | 21 | 211 | pt: {use} -> use |
| pointsto | true | 22 | 215 | pt: {a, b, c, d} -> a |
| pointsto | true | 22 | 216 | pt: {a, b, c, d} -> b |
| pointsto | true | 22 | 217 | pt: {a, b, c, d} -> c |
| pointsto | true | 22 | 218 | pt: {a, b, c, d} -> d |
| pointsto | true | 23 | 188 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> & ... |
| pointsto | true | 23 | 189 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> ... = ... |
| pointsto | true | 23 | 202 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> & ... |
| pointsto | true | 23 | 203 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> ... = ... |
| pointsto | true | 23 | 221 | pt: {& ..., & ..., ... = ..., ... = ..., p3} -> p3 |
| pointsto | true | 24 | 184 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 185 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 195 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 196 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> & ... |
| pointsto | true | 24 | 197 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> ... = ... |
| pointsto | true | 24 | 199 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 207 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> p3 |
| pointsto | true | 24 | 208 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> & ... |
| pointsto | true | 24 | 209 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> ... = ... |
| pointsto | true | 24 | 222 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> pp1 |
| pointsto | true | 24 | 223 | pt: {& ..., & ..., ... = ..., ... = ..., p3, p3, p3, p3, p3, pp1, pp2} -> pp2 |
| pointsto | true | 25 | 8 | sf |
| pointsto | true | 25 | 233 | pt: {v} -> v |
| pointsto | true | 26 | 235 | pt: {operator=} -> operator= |
| pointsto | true | 27 | 237 | pt: {p#0} -> p#0 |
| pointsto | true | 28 | 242 | pt: {operator=} -> operator= |
| pointsto | true | 29 | 243 | pt: {p#0} -> p#0 |
| pointsto | true | 30 | 247 | pt: {data} -> data |
| pointsto | true | 31 | 250 | pt: {(unsigned long)..., 10} -> 10 |
| pointsto | true | 31 | 251 | pt: {(unsigned long)..., 10} -> (unsigned long)... |
| pointsto | true | 25 | 226 | pt: {v} -> v |
| pointsto | true | 26 | 227 | pt: {operator=} -> operator= |
| pointsto | true | 27 | 230 | pt: {(unnamed parameter 0)} -> (unnamed parameter 0) |
| pointsto | true | 28 | 233 | pt: {operator=} -> operator= |
| pointsto | true | 29 | 236 | pt: {(unnamed parameter 0)} -> (unnamed parameter 0) |
| pointsto | true | 30 | 240 | pt: {data} -> data |
| pointsto | true | 31 | 243 | pt: {(unsigned long)..., 10} -> 10 |
| pointsto | true | 31 | 244 | pt: {(unsigned long)..., 10} -> (unsigned long)... |

View File

@@ -6,8 +6,8 @@
| 1 | file://:0:0:0:0 | __va_list_tag | file://:0:0:0:0 | operator= |
| 1 | file://:0:0:0:0 | __va_list_tag | file://:0:0:0:0 | overflow_arg_area |
| 1 | file://:0:0:0:0 | __va_list_tag | file://:0:0:0:0 | reg_save_area |
| 1 | file://:0:0:0:0 | operator= | file://:0:0:0:0 | p#0 |
| 1 | file://:0:0:0:0 | operator= | file://:0:0:0:0 | p#0 |
| 1 | file://:0:0:0:0 | operator= | file://:0:0:0:0 | (unnamed parameter 0) |
| 1 | file://:0:0:0:0 | operator= | file://:0:0:0:0 | (unnamed parameter 0) |
| 1 | parents.cpp:2:11:2:13 | foo | parents.cpp:3:13:3:15 | foo::bar |
| 1 | parents.cpp:3:13:3:15 | foo::bar | parents.cpp:4:10:4:10 | f |
| 1 | parents.cpp:4:10:4:10 | f | parents.cpp:4:16:4:16 | i |

View File

@@ -21,11 +21,11 @@
| 4 copy assignment | C::operator=(Cinside_lref c) |
| 4 copy assignment | C::operator=(const volatile C & c) |
| 4 copy assignment | C::operator=(rref c_copy) |
| 4 copy assignment | __va_list_tag::operator=(const __va_list_tag & p#0) |
| 4 copy assignment | __va_list_tag::operator=(const __va_list_tag & (unnamed parameter 0)) |
| 5 move assignment | C::operator=(Ctop_rref c) |
| 5 move assignment | C::operator=(const volatile C && c) |
| 5 move assignment | C::operator=(rref c_move) |
| 5 move assignment | __va_list_tag::operator=(__va_list_tag && p#0) |
| 5 move assignment | __va_list_tag::operator=(__va_list_tag && (unnamed parameter 0)) |
| 6 none of the above | C::operator=(int i) |
| 6 none of the above | C::operator=(volatile C & c_templated) |
| 6 none of the above | C::operator=(volatile C && c_templated) |

View File

@@ -14,8 +14,8 @@ uniqueNodeLocation
| break_labels.c:2:11:2:11 | x | Node should have one location but has 4. |
| duff.c:2:12:2:12 | i | Node should have one location but has 4. |
| duff.c:2:12:2:12 | x | Node should have one location but has 4. |
| file://:0:0:0:0 | p#2 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#2 | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 2) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 2) | Node should have one location but has 0. |
| ifelsestmt.c:37:17:37:17 | x | Node should have one location but has 2. |
| ifelsestmt.c:37:24:37:24 | y | Node should have one location but has 2. |
| ifstmt.c:27:17:27:17 | x | Node should have one location but has 2. |

View File

@@ -518,7 +518,31 @@ uniqueNodeLocation
| fieldaccess.cpp:6:6:6:6 | Phi | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | ReturnVoid | Node should have one location but has 14. |
| fieldaccess.cpp:6:6:6:6 | SideEffect | Node should have one location but has 14. |
| file://:0:0:0:0 | *p#2 | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 0) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 1) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 1) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 1) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 1) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 1) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 1) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 1) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 1) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 2) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 2) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 2) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 2) | Node should have one location but has 0. |
| file://:0:0:0:0 | (unnamed parameter 3) | Node should have one location but has 0. |
| file://:0:0:0:0 | *(unnamed parameter 2) | Node should have one location but has 0. |
| file://:0:0:0:0 | Address | Node should have one location but has 0. |
| file://:0:0:0:0 | Address | Node should have one location but has 0. |
| file://:0:0:0:0 | Address | Node should have one location but has 0. |
@@ -528,30 +552,6 @@ uniqueNodeLocation
| file://:0:0:0:0 | ReturnIndirection | Node should have one location but has 0. |
| file://:0:0:0:0 | SideEffect | Node should have one location but has 0. |
| file://:0:0:0:0 | VariableAddress | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#0 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#1 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#1 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#1 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#1 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#1 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#1 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#1 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#1 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#2 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#2 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#2 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#2 | Node should have one location but has 0. |
| file://:0:0:0:0 | p#3 | Node should have one location but has 0. |
| forstmt.cpp:1:6:1:7 | AliasedDefinition | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | AliasedUse | Node should have one location but has 2. |
| forstmt.cpp:1:6:1:7 | Chi | Node should have one location but has 2. |

View File

@@ -1,3 +1,7 @@
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | __va_list_tag |
| file://:0:0:0:0 | auto |
| file://:0:0:0:0 | fp_offset |
@@ -5,10 +9,6 @@
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |
| test.cpp:2:16:2:16 | T |
| test.cpp:3:8:3:8 | operator= |

View File

@@ -1,6 +1,8 @@
| file://:0:0:0:0 | |
| file://:0:0:0:0 | 0 |
| file://:0:0:0:0 | (global namespace) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | B |
| file://:0:0:0:0 | X |
| file://:0:0:0:0 | X |
@@ -27,8 +29,6 @@
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |
| file://:0:0:0:0 | void * |
| test.cpp:0:0:0:0 | test.cpp |

View File

@@ -1,3 +1,5 @@
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | __va_list_tag |
| file://:0:0:0:0 | auto |
| file://:0:0:0:0 | d |
@@ -6,16 +8,14 @@
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |
| test.cpp:3:24:3:24 | b<a> |
| test.cpp:4:26:4:26 | c<<expression>> |
| test.cpp:4:26:4:26 | c<<unnamed>> |
| test.cpp:5:29:5:29 | e |
| test.cpp:6:26:6:26 | p#0 |
| test.cpp:6:29:6:31 | p#1 |
| test.cpp:6:26:6:26 | (unnamed parameter 0) |
| test.cpp:6:29:6:31 | (unnamed parameter 1) |
| test.cpp:7:20:7:20 | f |
| test.cpp:7:20:7:26 | f |
| test.cpp:7:28:7:28 | p#0 |
| test.cpp:7:31:7:33 | p#1 |
| test.cpp:7:28:7:28 | (unnamed parameter 0) |
| test.cpp:7:31:7:33 | (unnamed parameter 1) |

View File

@@ -4,11 +4,13 @@
| decls.cpp:2:29:2:29 | C<int> |
| decls.cpp:4:19:4:20 | T2 |
| decls.cpp:4:28:4:28 | f |
| decls.cpp:4:30:4:34 | p#0 |
| decls.cpp:4:30:4:34 | p#0 |
| decls.cpp:4:30:4:34 | (unnamed parameter 0) |
| decls.cpp:4:30:4:34 | (unnamed parameter 0) |
| decls.cpp:6:17:6:17 | f |
| decls.cpp:8:18:8:18 | (unnamed template parameter) |
| decls.cpp:8:25:8:25 | g |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | __va_list_tag |
| file://:0:0:0:0 | auto |
| file://:0:0:0:0 | fp_offset |
@@ -16,6 +18,4 @@
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |

View File

@@ -3,6 +3,6 @@
| extern.cpp:1:20:1:20 | definition of T |
| extern.cpp:2:5:2:5 | declaration of f |
| extern.cpp:2:5:2:5 | f |
| extern.cpp:2:7:2:7 | (unnamed parameter 0) |
| extern.cpp:2:7:2:7 | declaration of 1st parameter |
| extern.cpp:2:7:2:7 | p#0 |
| extern.cpp:4:1:4:58 | // Currently we don't have an element for this declaration |

View File

@@ -1,3 +1,9 @@
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | C<char>'s friend |
| file://:0:0:0:0 | C<int>'s friend |
| file://:0:0:0:0 | auto |
@@ -6,19 +12,13 @@
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | operator= |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | reg_save_area |
| friends.cpp:2:19:2:21 | TTT |
| friends.cpp:4:19:4:21 | TTT |
| friends.cpp:4:29:4:29 | f |
| friends.cpp:4:31:4:36 | p#0 |
| friends.cpp:4:31:4:36 | p#0 |
| friends.cpp:4:31:4:36 | p#0 |
| friends.cpp:4:31:4:36 | (unnamed parameter 0) |
| friends.cpp:4:31:4:36 | (unnamed parameter 0) |
| friends.cpp:4:31:4:36 | (unnamed parameter 0) |
| friends.cpp:6:19:6:21 | TTT |
| friends.cpp:7:9:7:9 | C<TTT> |
| friends.cpp:7:9:7:9 | C<TTT> |
@@ -30,6 +30,6 @@
| friends.cpp:7:9:7:9 | operator= |
| friends.cpp:9:17:9:17 | f |
| friends.cpp:9:17:9:19 | C<TTT>'s friend |
| friends.cpp:9:21:9:26 | p#0 |
| friends.cpp:9:21:9:26 | (unnamed parameter 0) |
| friends.cpp:12:17:12:17 | f |
| friends.cpp:13:17:13:17 | f |

View File

@@ -2,6 +2,24 @@
| file://:0:0:0:0 | (composite<int> *)... |
| file://:0:0:0:0 | (composite<int> *)... |
| file://:0:0:0:0 | (global namespace) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | (unnamed parameter 0) |
| file://:0:0:0:0 | ..()(..) |
| file://:0:0:0:0 | ..()(..) |
| file://:0:0:0:0 | ..()(..) |
@@ -130,24 +148,6 @@
| file://:0:0:0:0 | optional |
| file://:0:0:0:0 | overflow_arg_area |
| file://:0:0:0:0 | override |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | p#0 |
| file://:0:0:0:0 | private |
| file://:0:0:0:0 | protected |
| file://:0:0:0:0 | public |
@@ -245,8 +245,8 @@
| test.cpp:2:8:2:26 | grammar_helper_base |
| test.cpp:3:9:3:16 | declaration of undefine |
| test.cpp:3:9:3:16 | undefine |
| test.cpp:3:18:3:20 | (unnamed parameter 0) |
| test.cpp:3:18:3:20 | declaration of 1st parameter |
| test.cpp:3:18:3:20 | p#0 |
| test.cpp:6:20:6:20 | B |
| test.cpp:6:20:6:20 | definition of B |
| test.cpp:7:8:7:8 | declaration of operator= |

View File

@@ -1,11 +1,11 @@
isFromUninstantiatedTemplate
| file://:0:0:0:0 | 0 | isfromtemplateinstantiation.cpp:77:26:77:45 | AnotherTemplateClass<T> |
| file://:0:0:0:0 | (int)... | isfromtemplateinstantiation.cpp:77:26:77:45 | AnotherTemplateClass<T> |
| file://:0:0:0:0 | (unnamed parameter 0) | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> |
| file://:0:0:0:0 | (unnamed parameter 0) | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> |
| file://:0:0:0:0 | declaration of 1st parameter | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> |
| file://:0:0:0:0 | declaration of 1st parameter | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> |
| file://:0:0:0:0 | initializer for MyClassEnumConst | isfromtemplateinstantiation.cpp:77:26:77:45 | AnotherTemplateClass<T> |
| file://:0:0:0:0 | p#0 | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> |
| file://:0:0:0:0 | p#0 | isfromtemplateinstantiation.cpp:134:29:134:33 | Outer<T> |
| isfromtemplateinstantiation.cpp:12:24:12:46 | definition of inner_template_function | isfromtemplateinstantiation.cpp:12:24:12:46 | inner_template_function |
| isfromtemplateinstantiation.cpp:12:24:12:46 | inner_template_function | isfromtemplateinstantiation.cpp:12:24:12:46 | inner_template_function |
| isfromtemplateinstantiation.cpp:13:1:17:1 | { ... } | isfromtemplateinstantiation.cpp:12:24:12:46 | inner_template_function |

View File

@@ -1,10 +1,10 @@
| file://:0:0:0:0 | (unnamed parameter 0) | | | |
| file://:0:0:0:0 | (unnamed parameter 0) | | | |
| file://:0:0:0:0 | (unnamed parameter 0) | | | |
| file://:0:0:0:0 | (unnamed parameter 0) | | | |
| file://:0:0:0:0 | fp_offset | | | |
| file://:0:0:0:0 | gp_offset | | | |
| file://:0:0:0:0 | overflow_arg_area | | | |
| file://:0:0:0:0 | p#0 | | | |
| file://:0:0:0:0 | p#0 | | | |
| file://:0:0:0:0 | p#0 | | | |
| file://:0:0:0:0 | p#0 | | | |
| file://:0:0:0:0 | reg_save_area | | | |
| variables.cpp:2:13:2:13 | pi | variables.cpp:25:12:25:16 | T | |
| variables.cpp:2:13:2:13 | pi | variables.cpp:25:12:25:16, variables.cpp:37:16:37:24 | float | |

View File

@@ -1,8 +1,8 @@
| file://:0:0:0:0 | (unnamed parameter 0) | Parameter | file://:0:0:0:0 | __va_list_tag && | ReferenceType, base: __va_list_tag |
| file://:0:0:0:0 | (unnamed parameter 0) | Parameter | file://:0:0:0:0 | const __va_list_tag & | ReferenceType, base: const __va_list_tag |
| file://:0:0:0:0 | fp_offset | | file://:0:0:0:0 | unsigned int | IntType |
| file://:0:0:0:0 | gp_offset | | file://:0:0:0:0 | unsigned int | IntType |
| file://:0:0:0:0 | overflow_arg_area | | file://:0:0:0:0 | void * | PointerType, VoidPointerType, base: void |
| file://:0:0:0:0 | p#0 | Parameter | file://:0:0:0:0 | __va_list_tag && | ReferenceType, base: __va_list_tag |
| file://:0:0:0:0 | p#0 | Parameter | file://:0:0:0:0 | const __va_list_tag & | ReferenceType, base: const __va_list_tag |
| file://:0:0:0:0 | reg_save_area | | file://:0:0:0:0 | void * | PointerType, VoidPointerType, base: void |
| types.cpp:1:12:1:12 | i | | file://:0:0:0:0 | int | IntType |
| types.cpp:3:11:3:11 | c | isConst | file://:0:0:0:0 | const int | base: int, isConst |

View File

@@ -1,8 +1,8 @@
| file://:0:0:0:0 | (unnamed parameter 0) | reference to {const {struct __va_list_tag}} | reference to {const {struct __va_list_tag}} |
| file://:0:0:0:0 | (unnamed parameter 0) | rvalue reference to {struct __va_list_tag} | rvalue reference to {struct __va_list_tag} |
| file://:0:0:0:0 | fp_offset | unsigned int | unsigned int |
| file://:0:0:0:0 | gp_offset | unsigned int | unsigned int |
| file://:0:0:0:0 | overflow_arg_area | pointer to {void} | pointer to {void} |
| file://:0:0:0:0 | p#0 | reference to {const {struct __va_list_tag}} | reference to {const {struct __va_list_tag}} |
| file://:0:0:0:0 | p#0 | rvalue reference to {struct __va_list_tag} | rvalue reference to {struct __va_list_tag} |
| file://:0:0:0:0 | reg_save_area | pointer to {void} | pointer to {void} |
| unspecified_type.cpp:2:5:2:7 | vv1 | int | int |
| unspecified_type.cpp:3:11:3:13 | vv2 | const {int} | int |

View File

@@ -1,8 +1,8 @@
| file://:0:0:0:0 | (unnamed parameter 0) | reference to {const {struct __va_list_tag}} | reference to {struct __va_list_tag} |
| file://:0:0:0:0 | (unnamed parameter 0) | rvalue reference to {struct __va_list_tag} | rvalue reference to {struct __va_list_tag} |
| file://:0:0:0:0 | fp_offset | unsigned int | unsigned int |
| file://:0:0:0:0 | gp_offset | unsigned int | unsigned int |
| file://:0:0:0:0 | overflow_arg_area | pointer to {void} | pointer to {void} |
| file://:0:0:0:0 | p#0 | reference to {const {struct __va_list_tag}} | reference to {struct __va_list_tag} |
| file://:0:0:0:0 | p#0 | rvalue reference to {struct __va_list_tag} | rvalue reference to {struct __va_list_tag} |
| file://:0:0:0:0 | reg_save_area | pointer to {void} | pointer to {void} |
| unspecified_type.cpp:2:5:2:7 | vv1 | int | int |
| unspecified_type.cpp:3:11:3:13 | vv2 | const {int} | int |

View File

@@ -30,39 +30,39 @@ test.cpp:
# 3| valnum = unique
# 5| r5_1(glval<int>) = VariableAddress[p0] :
# 5| valnum = r1_5, r5_1, r6_1
# 5| r5_2(int) = Load : &:r5_1, m1_6
# 5| r5_2(int) = Load[p0] : &:r5_1, m1_6
# 5| valnum = m1_6, r5_2, r6_2
# 5| r5_3(glval<int>) = VariableAddress[p1] :
# 5| valnum = r1_7, r5_3, r6_3
# 5| r5_4(int) = Load : &:r5_3, m1_8
# 5| r5_4(int) = Load[p1] : &:r5_3, m1_8
# 5| valnum = m1_8, r5_4, r6_4
# 5| r5_5(int) = Add : r5_2, r5_4
# 5| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2
# 5| r5_6(glval<int>) = VariableAddress[x] :
# 5| valnum = r2_1, r5_6, r6_6, r7_1
# 5| m5_7(int) = Store : &:r5_6, r5_5
# 5| m5_7(int) = Store[x] : &:r5_6, r5_5
# 5| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2
# 6| r6_1(glval<int>) = VariableAddress[p0] :
# 6| valnum = r1_5, r5_1, r6_1
# 6| r6_2(int) = Load : &:r6_1, m1_6
# 6| r6_2(int) = Load[p0] : &:r6_1, m1_6
# 6| valnum = m1_6, r5_2, r6_2
# 6| r6_3(glval<int>) = VariableAddress[p1] :
# 6| valnum = r1_7, r5_3, r6_3
# 6| r6_4(int) = Load : &:r6_3, m1_8
# 6| r6_4(int) = Load[p1] : &:r6_3, m1_8
# 6| valnum = m1_8, r5_4, r6_4
# 6| r6_5(int) = Add : r6_2, r6_4
# 6| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2
# 6| r6_6(glval<int>) = VariableAddress[x] :
# 6| valnum = r2_1, r5_6, r6_6, r7_1
# 6| m6_7(int) = Store : &:r6_6, r6_5
# 6| m6_7(int) = Store[x] : &:r6_6, r6_5
# 6| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2
# 7| r7_1(glval<int>) = VariableAddress[x] :
# 7| valnum = r2_1, r5_6, r6_6, r7_1
# 7| r7_2(int) = Load : &:r7_1, m6_7
# 7| r7_2(int) = Load[x] : &:r7_1, m6_7
# 7| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2
# 7| r7_3(glval<int>) = VariableAddress[y] :
# 7| valnum = r2_3, r7_3
# 7| m7_4(int) = Store : &:r7_3, r7_2
# 7| m7_4(int) = Store[y] : &:r7_3, r7_2
# 7| valnum = m5_7, m6_7, m7_4, r5_5, r6_5, r7_2
# 8| v8_1(void) = NoOp :
# 1| v1_9(void) = ReturnVoid :
@@ -100,51 +100,51 @@ test.cpp:
# 14| valnum = unique
# 16| r16_1(glval<int>) = VariableAddress[p0] :
# 16| valnum = r12_5, r16_1, r17_1
# 16| r16_2(int) = Load : &:r16_1, m12_6
# 16| r16_2(int) = Load[p0] : &:r16_1, m12_6
# 16| valnum = m12_6, r16_2, r17_2
# 16| r16_3(glval<int>) = VariableAddress[p1] :
# 16| valnum = r12_7, r16_3, r17_3
# 16| r16_4(int) = Load : &:r16_3, m12_8
# 16| r16_4(int) = Load[p1] : &:r16_3, m12_8
# 16| valnum = m12_8, r16_4, r17_4
# 16| r16_5(int) = Add : r16_2, r16_4
# 16| valnum = r16_5, r17_5
# 16| r16_6(glval<int>) = VariableAddress[global01] :
# 16| valnum = r16_6, r17_6
# 16| r16_7(int) = Load : &:r16_6, ~m12_3
# 16| r16_7(int) = Load[global01] : &:r16_6, ~m12_3
# 16| valnum = r16_7, r17_7
# 16| r16_8(int) = Add : r16_5, r16_7
# 16| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2
# 16| r16_9(glval<int>) = VariableAddress[x] :
# 16| valnum = r13_1, r16_9, r17_9, r18_1
# 16| m16_10(int) = Store : &:r16_9, r16_8
# 16| m16_10(int) = Store[x] : &:r16_9, r16_8
# 16| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2
# 17| r17_1(glval<int>) = VariableAddress[p0] :
# 17| valnum = r12_5, r16_1, r17_1
# 17| r17_2(int) = Load : &:r17_1, m12_6
# 17| r17_2(int) = Load[p0] : &:r17_1, m12_6
# 17| valnum = m12_6, r16_2, r17_2
# 17| r17_3(glval<int>) = VariableAddress[p1] :
# 17| valnum = r12_7, r16_3, r17_3
# 17| r17_4(int) = Load : &:r17_3, m12_8
# 17| r17_4(int) = Load[p1] : &:r17_3, m12_8
# 17| valnum = m12_8, r16_4, r17_4
# 17| r17_5(int) = Add : r17_2, r17_4
# 17| valnum = r16_5, r17_5
# 17| r17_6(glval<int>) = VariableAddress[global01] :
# 17| valnum = r16_6, r17_6
# 17| r17_7(int) = Load : &:r17_6, ~m12_3
# 17| r17_7(int) = Load[global01] : &:r17_6, ~m12_3
# 17| valnum = r16_7, r17_7
# 17| r17_8(int) = Add : r17_5, r17_7
# 17| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2
# 17| r17_9(glval<int>) = VariableAddress[x] :
# 17| valnum = r13_1, r16_9, r17_9, r18_1
# 17| m17_10(int) = Store : &:r17_9, r17_8
# 17| m17_10(int) = Store[x] : &:r17_9, r17_8
# 17| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2
# 18| r18_1(glval<int>) = VariableAddress[x] :
# 18| valnum = r13_1, r16_9, r17_9, r18_1
# 18| r18_2(int) = Load : &:r18_1, m17_10
# 18| r18_2(int) = Load[x] : &:r18_1, m17_10
# 18| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2
# 18| r18_3(glval<int>) = VariableAddress[y] :
# 18| valnum = r13_3, r18_3
# 18| m18_4(int) = Store : &:r18_3, r18_2
# 18| m18_4(int) = Store[y] : &:r18_3, r18_2
# 18| valnum = m16_10, m17_10, m18_4, r16_8, r17_8, r18_2
# 19| v19_1(void) = NoOp :
# 12| v12_9(void) = ReturnVoid :
@@ -182,58 +182,58 @@ test.cpp:
# 27| valnum = unique
# 29| r29_1(glval<int>) = VariableAddress[p0] :
# 29| valnum = r25_5, r29_1, r31_1
# 29| r29_2(int) = Load : &:r29_1, m25_6
# 29| r29_2(int) = Load[p0] : &:r29_1, m25_6
# 29| valnum = m25_6, r29_2, r31_2
# 29| r29_3(glval<int>) = VariableAddress[p1] :
# 29| valnum = r25_7, r29_3, r31_3
# 29| r29_4(int) = Load : &:r29_3, m25_8
# 29| r29_4(int) = Load[p1] : &:r29_3, m25_8
# 29| valnum = m25_8, r29_4, r31_4
# 29| r29_5(int) = Add : r29_2, r29_4
# 29| valnum = r29_5, r31_5
# 29| r29_6(glval<int>) = VariableAddress[global02] :
# 29| valnum = r29_6, r31_6
# 29| r29_7(int) = Load : &:r29_6, ~m25_3
# 29| r29_7(int) = Load[global02] : &:r29_6, ~m25_3
# 29| valnum = unique
# 29| r29_8(int) = Add : r29_5, r29_7
# 29| valnum = m29_10, r29_8
# 29| r29_9(glval<int>) = VariableAddress[x] :
# 29| valnum = r26_1, r29_9, r31_9, r32_1
# 29| m29_10(int) = Store : &:r29_9, r29_8
# 29| m29_10(int) = Store[x] : &:r29_9, r29_8
# 29| valnum = m29_10, r29_8
# 30| r30_1(glval<unknown>) = FunctionAddress[change_global02] :
# 30| valnum = unique
# 30| v30_2(void) = Call : func:r30_1
# 30| v30_2(void) = Call[change_global02] : func:r30_1
# 30| m30_3(unknown) = ^CallSideEffect : ~m25_4
# 30| valnum = unique
# 30| m30_4(unknown) = Chi : total:m25_4, partial:m30_3
# 30| valnum = unique
# 31| r31_1(glval<int>) = VariableAddress[p0] :
# 31| valnum = r25_5, r29_1, r31_1
# 31| r31_2(int) = Load : &:r31_1, m25_6
# 31| r31_2(int) = Load[p0] : &:r31_1, m25_6
# 31| valnum = m25_6, r29_2, r31_2
# 31| r31_3(glval<int>) = VariableAddress[p1] :
# 31| valnum = r25_7, r29_3, r31_3
# 31| r31_4(int) = Load : &:r31_3, m25_8
# 31| r31_4(int) = Load[p1] : &:r31_3, m25_8
# 31| valnum = m25_8, r29_4, r31_4
# 31| r31_5(int) = Add : r31_2, r31_4
# 31| valnum = r29_5, r31_5
# 31| r31_6(glval<int>) = VariableAddress[global02] :
# 31| valnum = r29_6, r31_6
# 31| r31_7(int) = Load : &:r31_6, ~m30_4
# 31| r31_7(int) = Load[global02] : &:r31_6, ~m30_4
# 31| valnum = unique
# 31| r31_8(int) = Add : r31_5, r31_7
# 31| valnum = m31_10, m32_4, r31_8, r32_2
# 31| r31_9(glval<int>) = VariableAddress[x] :
# 31| valnum = r26_1, r29_9, r31_9, r32_1
# 31| m31_10(int) = Store : &:r31_9, r31_8
# 31| m31_10(int) = Store[x] : &:r31_9, r31_8
# 31| valnum = m31_10, m32_4, r31_8, r32_2
# 32| r32_1(glval<int>) = VariableAddress[x] :
# 32| valnum = r26_1, r29_9, r31_9, r32_1
# 32| r32_2(int) = Load : &:r32_1, m31_10
# 32| r32_2(int) = Load[x] : &:r32_1, m31_10
# 32| valnum = m31_10, m32_4, r31_8, r32_2
# 32| r32_3(glval<int>) = VariableAddress[y] :
# 32| valnum = r26_3, r32_3
# 32| m32_4(int) = Store : &:r32_3, r32_2
# 32| m32_4(int) = Store[y] : &:r32_3, r32_2
# 32| valnum = m31_10, m32_4, r31_8, r32_2
# 33| v33_1(void) = NoOp :
# 25| v25_9(void) = ReturnVoid :
@@ -261,7 +261,7 @@ test.cpp:
# 39| valnum = r39_9, r44_2
# 39| m39_10(int *) = InitializeParameter[p2] : &:r39_9
# 39| valnum = m39_10, r39_11, r44_3, r44_4
# 39| r39_11(int *) = Load : &:r39_9, m39_10
# 39| r39_11(int *) = Load[p2] : &:r39_9, m39_10
# 39| valnum = m39_10, r39_11, r44_3, r44_4
# 39| m39_12(unknown) = InitializeIndirection[p2] : &:r39_11
# 39| valnum = unique
@@ -279,63 +279,63 @@ test.cpp:
# 41| valnum = unique
# 43| r43_1(glval<int>) = VariableAddress[p0] :
# 43| valnum = r39_5, r43_1, r45_1
# 43| r43_2(int) = Load : &:r43_1, m39_6
# 43| r43_2(int) = Load[p0] : &:r43_1, m39_6
# 43| valnum = m39_6, r43_2, r45_2
# 43| r43_3(glval<int>) = VariableAddress[p1] :
# 43| valnum = r39_7, r43_3, r45_3
# 43| r43_4(int) = Load : &:r43_3, m39_8
# 43| r43_4(int) = Load[p1] : &:r43_3, m39_8
# 43| valnum = m39_8, r43_4, r45_4
# 43| r43_5(int) = Add : r43_2, r43_4
# 43| valnum = r43_5, r45_5
# 43| r43_6(glval<int>) = VariableAddress[global03] :
# 43| valnum = r43_6, r45_6
# 43| r43_7(int) = Load : &:r43_6, ~m39_3
# 43| r43_7(int) = Load[global03] : &:r43_6, ~m39_3
# 43| valnum = r43_7, r45_7
# 43| r43_8(int) = Add : r43_5, r43_7
# 43| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2
# 43| r43_9(glval<int>) = VariableAddress[x] :
# 43| valnum = r40_1, r43_9, r45_9, r46_1
# 43| m43_10(int) = Store : &:r43_9, r43_8
# 43| m43_10(int) = Store[x] : &:r43_9, r43_8
# 43| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2
# 44| r44_1(int) = Constant[0] :
# 44| valnum = m44_5, r44_1
# 44| r44_2(glval<int *>) = VariableAddress[p2] :
# 44| valnum = r39_9, r44_2
# 44| r44_3(int *) = Load : &:r44_2, m39_10
# 44| r44_3(int *) = Load[p2] : &:r44_2, m39_10
# 44| valnum = m39_10, r39_11, r44_3, r44_4
# 44| r44_4(glval<int>) = CopyValue : r44_3
# 44| valnum = m39_10, r39_11, r44_3, r44_4
# 44| m44_5(int) = Store : &:r44_4, r44_1
# 44| m44_5(int) = Store[?] : &:r44_4, r44_1
# 44| valnum = m44_5, r44_1
# 44| m44_6(unknown) = Chi : total:m39_12, partial:m44_5
# 44| valnum = unique
# 45| r45_1(glval<int>) = VariableAddress[p0] :
# 45| valnum = r39_5, r43_1, r45_1
# 45| r45_2(int) = Load : &:r45_1, m39_6
# 45| r45_2(int) = Load[p0] : &:r45_1, m39_6
# 45| valnum = m39_6, r43_2, r45_2
# 45| r45_3(glval<int>) = VariableAddress[p1] :
# 45| valnum = r39_7, r43_3, r45_3
# 45| r45_4(int) = Load : &:r45_3, m39_8
# 45| r45_4(int) = Load[p1] : &:r45_3, m39_8
# 45| valnum = m39_8, r43_4, r45_4
# 45| r45_5(int) = Add : r45_2, r45_4
# 45| valnum = r43_5, r45_5
# 45| r45_6(glval<int>) = VariableAddress[global03] :
# 45| valnum = r43_6, r45_6
# 45| r45_7(int) = Load : &:r45_6, ~m39_3
# 45| r45_7(int) = Load[global03] : &:r45_6, ~m39_3
# 45| valnum = r43_7, r45_7
# 45| r45_8(int) = Add : r45_5, r45_7
# 45| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2
# 45| r45_9(glval<int>) = VariableAddress[x] :
# 45| valnum = r40_1, r43_9, r45_9, r46_1
# 45| m45_10(int) = Store : &:r45_9, r45_8
# 45| m45_10(int) = Store[x] : &:r45_9, r45_8
# 45| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2
# 46| r46_1(glval<int>) = VariableAddress[x] :
# 46| valnum = r40_1, r43_9, r45_9, r46_1
# 46| r46_2(int) = Load : &:r46_1, m45_10
# 46| r46_2(int) = Load[x] : &:r46_1, m45_10
# 46| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2
# 46| r46_3(glval<int>) = VariableAddress[y] :
# 46| valnum = r40_3, r46_3
# 46| m46_4(int) = Store : &:r46_3, r46_2
# 46| m46_4(int) = Store[y] : &:r46_3, r46_2
# 46| valnum = m43_10, m45_10, m46_4, r43_8, r45_8, r46_2
# 47| v47_1(void) = NoOp :
# 39| v39_13(void) = ReturnIndirection[p2] : &:r39_11, m44_6
@@ -356,7 +356,7 @@ test.cpp:
# 49| valnum = r49_5, r53_2, r56_6
# 49| m49_6(char *) = InitializeParameter[str] : &:r49_5
# 49| valnum = m49_6, r49_7, r53_3, r56_7
# 49| r49_7(char *) = Load : &:r49_5, m49_6
# 49| r49_7(char *) = Load[str] : &:r49_5, m49_6
# 49| valnum = m49_6, r49_7, r53_3, r56_7
# 49| m49_8(unknown) = InitializeIndirection[str] : &:r49_7
# 49| valnum = unique
@@ -364,7 +364,7 @@ test.cpp:
# 49| valnum = r49_9, r55_1
# 49| m49_10(char *) = InitializeParameter[chars] : &:r49_9
# 49| valnum = m49_10, m55_4, r49_11, r55_2
# 49| r49_11(char *) = Load : &:r49_9, m49_10
# 49| r49_11(char *) = Load[chars] : &:r49_9, m49_10
# 49| valnum = m49_10, m55_4, r49_11, r55_2
# 49| m49_12(unknown) = InitializeIndirection[chars] : &:r49_11
# 49| valnum = unique
@@ -376,7 +376,7 @@ test.cpp:
# 51| valnum = r51_1, r62_1, r65_2
# 51| r51_2(unsigned int) = Constant[0] :
# 51| valnum = m51_3, r51_2
# 51| m51_3(unsigned int) = Store : &:r51_1, r51_2
# 51| m51_3(unsigned int) = Store[result] : &:r51_1, r51_2
# 51| valnum = m51_3, r51_2
#-----| Goto -> Block 1
@@ -385,9 +385,9 @@ test.cpp:
# 53| valnum = m53_1, m65_4, r62_2, r65_3
# 53| r53_2(glval<char *>) = VariableAddress[str] :
# 53| valnum = r49_5, r53_2, r56_6
# 53| r53_3(char *) = Load : &:r53_2, m49_6
# 53| r53_3(char *) = Load[str] : &:r53_2, m49_6
# 53| valnum = m49_6, r49_7, r53_3, r56_7
# 53| r53_4(char) = Load : &:r53_3, ~m49_8
# 53| r53_4(char) = Load[?] : &:r53_3, ~m49_8
# 53| valnum = r53_4, r56_8
# 53| r53_5(int) = Convert : r53_4
# 53| valnum = r53_5, r56_9
@@ -402,11 +402,11 @@ test.cpp:
# 55| Block 2
# 55| r55_1(glval<char *>) = VariableAddress[chars] :
# 55| valnum = r49_9, r55_1
# 55| r55_2(char *) = Load : &:r55_1, m49_10
# 55| r55_2(char *) = Load[chars] : &:r55_1, m49_10
# 55| valnum = m49_10, m55_4, r49_11, r55_2
# 55| r55_3(glval<char *>) = VariableAddress[ptr] :
# 55| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1
# 55| m55_4(char *) = Store : &:r55_3, r55_2
# 55| m55_4(char *) = Store[ptr] : &:r55_3, r55_2
# 55| valnum = m49_10, m55_4, r49_11, r55_2
#-----| Goto -> Block 3
@@ -415,17 +415,17 @@ test.cpp:
# 56| valnum = m56_1, r56_13, r56_20, r56_3, r59_2
# 56| r56_2(glval<char *>) = VariableAddress[ptr] :
# 56| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1
# 56| r56_3(char *) = Load : &:r56_2, m56_1
# 56| r56_3(char *) = Load[ptr] : &:r56_2, m56_1
# 56| valnum = m56_1, r56_13, r56_20, r56_3, r59_2
# 56| r56_4(char) = Load : &:r56_3, ~m49_4
# 56| r56_4(char) = Load[?] : &:r56_3, ~m49_4
# 56| valnum = r56_14, r56_4, r59_3
# 56| r56_5(int) = Convert : r56_4
# 56| valnum = r56_15, r56_5, r59_4
# 56| r56_6(glval<char *>) = VariableAddress[str] :
# 56| valnum = r49_5, r53_2, r56_6
# 56| r56_7(char *) = Load : &:r56_6, m49_6
# 56| r56_7(char *) = Load[str] : &:r56_6, m49_6
# 56| valnum = m49_6, r49_7, r53_3, r56_7
# 56| r56_8(char) = Load : &:r56_7, ~m49_8
# 56| r56_8(char) = Load[?] : &:r56_7, ~m49_8
# 56| valnum = r53_4, r56_8
# 56| r56_9(int) = Convert : r56_8
# 56| valnum = r53_5, r56_9
@@ -438,9 +438,9 @@ test.cpp:
# 56| Block 4
# 56| r56_12(glval<char *>) = VariableAddress[ptr] :
# 56| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1
# 56| r56_13(char *) = Load : &:r56_12, m56_1
# 56| r56_13(char *) = Load[ptr] : &:r56_12, m56_1
# 56| valnum = m56_1, r56_13, r56_20, r56_3, r59_2
# 56| r56_14(char) = Load : &:r56_13, ~m49_4
# 56| r56_14(char) = Load[?] : &:r56_13, ~m49_4
# 56| valnum = r56_14, r56_4, r59_3
# 56| r56_15(int) = Convert : r56_14
# 56| valnum = r56_15, r56_5, r59_4
@@ -455,22 +455,22 @@ test.cpp:
# 56| Block 5
# 56| r56_19(glval<char *>) = VariableAddress[ptr] :
# 56| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1
# 56| r56_20(char *) = Load : &:r56_19, m56_1
# 56| r56_20(char *) = Load[ptr] : &:r56_19, m56_1
# 56| valnum = m56_1, r56_13, r56_20, r56_3, r59_2
# 56| r56_21(int) = Constant[1] :
# 56| valnum = unique
# 56| r56_22(char *) = PointerAdd[1] : r56_20, r56_21
# 56| valnum = m56_23, r56_22
# 56| m56_23(char *) = Store : &:r56_19, r56_22
# 56| m56_23(char *) = Store[ptr] : &:r56_19, r56_22
# 56| valnum = m56_23, r56_22
#-----| Goto (back edge) -> Block 3
# 59| Block 6
# 59| r59_1(glval<char *>) = VariableAddress[ptr] :
# 59| valnum = r50_1, r55_3, r56_12, r56_19, r56_2, r59_1
# 59| r59_2(char *) = Load : &:r59_1, m56_1
# 59| r59_2(char *) = Load[ptr] : &:r59_1, m56_1
# 59| valnum = m56_1, r56_13, r56_20, r56_3, r59_2
# 59| r59_3(char) = Load : &:r59_2, ~m49_4
# 59| r59_3(char) = Load[?] : &:r59_2, ~m49_4
# 59| valnum = r56_14, r56_4, r59_3
# 59| r59_4(int) = Convert : r59_3
# 59| valnum = r56_15, r56_5, r59_4
@@ -489,13 +489,13 @@ test.cpp:
# 62| Block 8
# 62| r62_1(glval<unsigned int>) = VariableAddress[result] :
# 62| valnum = r51_1, r62_1, r65_2
# 62| r62_2(unsigned int) = Load : &:r62_1, m53_1
# 62| r62_2(unsigned int) = Load[result] : &:r62_1, m53_1
# 62| valnum = m53_1, m65_4, r62_2, r65_3
# 62| r62_3(unsigned int) = Constant[1] :
# 62| valnum = unique
# 62| r62_4(unsigned int) = Add : r62_2, r62_3
# 62| valnum = m62_5, r62_4
# 62| m62_5(unsigned int) = Store : &:r62_1, r62_4
# 62| m62_5(unsigned int) = Store[result] : &:r62_1, r62_4
# 62| valnum = m62_5, r62_4
#-----| Goto (back edge) -> Block 1
@@ -505,9 +505,9 @@ test.cpp:
# 65| valnum = r49_15, r65_1
# 65| r65_2(glval<unsigned int>) = VariableAddress[result] :
# 65| valnum = r51_1, r62_1, r65_2
# 65| r65_3(unsigned int) = Load : &:r65_2, m53_1
# 65| r65_3(unsigned int) = Load[result] : &:r65_2, m53_1
# 65| valnum = m53_1, m65_4, r62_2, r65_3
# 65| m65_4(unsigned int) = Store : &:r65_1, r65_3
# 65| m65_4(unsigned int) = Store[#return] : &:r65_1, r65_3
# 65| valnum = m53_1, m65_4, r62_2, r65_3
# 49| v49_13(void) = ReturnIndirection[str] : &:r49_7, m49_8
# 49| v49_14(void) = ReturnIndirection[chars] : &:r49_11, m49_12
@@ -530,7 +530,7 @@ test.cpp:
# 75| valnum = r75_5, r79_4, r79_9
# 75| m75_6(two_values *) = InitializeParameter[vals] : &:r75_5
# 75| valnum = m75_6, r75_7, r79_10, r79_5
# 75| r75_7(two_values *) = Load : &:r75_5, m75_6
# 75| r75_7(two_values *) = Load[vals] : &:r75_5, m75_6
# 75| valnum = m75_6, r75_7, r79_10, r79_5
# 75| m75_8(unknown) = InitializeIndirection[vals] : &:r75_7
# 75| valnum = unique
@@ -538,7 +538,7 @@ test.cpp:
# 77| valnum = r77_1, r79_1, r80_6
# 77| r77_2(glval<unknown>) = FunctionAddress[getAValue] :
# 77| valnum = unique
# 77| r77_3(int) = Call : func:r77_2
# 77| r77_3(int) = Call[getAValue] : func:r77_2
# 77| valnum = unique
# 77| m77_4(unknown) = ^CallSideEffect : ~m75_4
# 77| valnum = unique
@@ -546,31 +546,31 @@ test.cpp:
# 77| valnum = unique
# 77| r77_6(signed short) = Convert : r77_3
# 77| valnum = m77_7, r77_6, r79_2
# 77| m77_7(signed short) = Store : &:r77_1, r77_6
# 77| m77_7(signed short) = Store[v] : &:r77_1, r77_6
# 77| valnum = m77_7, r77_6, r79_2
# 79| r79_1(glval<signed short>) = VariableAddress[v] :
# 79| valnum = r77_1, r79_1, r80_6
# 79| r79_2(signed short) = Load : &:r79_1, m77_7
# 79| r79_2(signed short) = Load[v] : &:r79_1, m77_7
# 79| valnum = m77_7, r77_6, r79_2
# 79| r79_3(int) = Convert : r79_2
# 79| valnum = unique
# 79| r79_4(glval<two_values *>) = VariableAddress[vals] :
# 79| valnum = r75_5, r79_4, r79_9
# 79| r79_5(two_values *) = Load : &:r79_4, m75_6
# 79| r79_5(two_values *) = Load[vals] : &:r79_4, m75_6
# 79| valnum = m75_6, r75_7, r79_10, r79_5
# 79| r79_6(glval<signed short>) = FieldAddress[val1] : r79_5
# 79| valnum = unique
# 79| r79_7(signed short) = Load : &:r79_6, ~m75_8
# 79| r79_7(signed short) = Load[?] : &:r79_6, ~m75_8
# 79| valnum = unique
# 79| r79_8(int) = Convert : r79_7
# 79| valnum = unique
# 79| r79_9(glval<two_values *>) = VariableAddress[vals] :
# 79| valnum = r75_5, r79_4, r79_9
# 79| r79_10(two_values *) = Load : &:r79_9, m75_6
# 79| r79_10(two_values *) = Load[vals] : &:r79_9, m75_6
# 79| valnum = m75_6, r75_7, r79_10, r79_5
# 79| r79_11(glval<signed short>) = FieldAddress[val2] : r79_10
# 79| valnum = unique
# 79| r79_12(signed short) = Load : &:r79_11, ~m75_8
# 79| r79_12(signed short) = Load[?] : &:r79_11, ~m75_8
# 79| valnum = unique
# 79| r79_13(int) = Convert : r79_12
# 79| valnum = unique
@@ -585,7 +585,7 @@ test.cpp:
# 80| Block 1
# 80| r80_1(glval<unknown>) = FunctionAddress[getAValue] :
# 80| valnum = unique
# 80| r80_2(int) = Call : func:r80_1
# 80| r80_2(int) = Call[getAValue] : func:r80_1
# 80| valnum = unique
# 80| m80_3(unknown) = ^CallSideEffect : ~m77_5
# 80| valnum = unique
@@ -595,7 +595,7 @@ test.cpp:
# 80| valnum = m80_7, r80_5
# 80| r80_6(glval<signed short>) = VariableAddress[v] :
# 80| valnum = r77_1, r79_1, r80_6
# 80| m80_7(signed short) = Store : &:r80_6, r80_5
# 80| m80_7(signed short) = Store[v] : &:r80_6, r80_5
# 80| valnum = m80_7, r80_5
#-----| Goto -> Block 2
@@ -629,7 +629,7 @@ test.cpp:
# 84| valnum = r84_9, r88_1
# 84| m84_10(void *) = InitializeParameter[p] : &:r84_9
# 84| valnum = m84_10, r84_11, r88_2
# 84| r84_11(void *) = Load : &:r84_9, m84_10
# 84| r84_11(void *) = Load[p] : &:r84_9, m84_10
# 84| valnum = m84_10, r84_11, r88_2
# 84| m84_12(unknown) = InitializeIndirection[p] : &:r84_11
# 84| valnum = unique
@@ -639,7 +639,7 @@ test.cpp:
# 86| valnum = unique
# 88| r88_1(glval<void *>) = VariableAddress[p] :
# 88| valnum = r84_9, r88_1
# 88| r88_2(void *) = Load : &:r88_1, m84_10
# 88| r88_2(void *) = Load[p] : &:r88_1, m84_10
# 88| valnum = m84_10, r84_11, r88_2
# 88| r88_3(void *) = Constant[0] :
# 88| valnum = unique
@@ -654,11 +654,11 @@ test.cpp:
# 88| valnum = m88_10, m88_6, r88_8
# 88| r88_7(glval<int>) = VariableAddress[#temp88:7] :
# 88| valnum = r88_13, r88_17, r88_7
# 88| r88_8(int) = Load : &:r88_7, m88_6
# 88| r88_8(int) = Load[#temp88:7] : &:r88_7, m88_6
# 88| valnum = m88_10, m88_6, r88_8
# 88| r88_9(glval<int>) = VariableAddress[v] :
# 88| valnum = r86_1, r88_9
# 88| m88_10(int) = Store : &:r88_9, r88_8
# 88| m88_10(int) = Store[v] : &:r88_9, r88_8
# 88| valnum = m88_10, m88_6, r88_8
# 89| v89_1(void) = NoOp :
# 84| v84_13(void) = ReturnIndirection[p] : &:r84_11, m84_12
@@ -669,22 +669,22 @@ test.cpp:
# 88| Block 2
# 88| r88_11(glval<int>) = VariableAddress[x] :
# 88| valnum = r84_5, r88_11
# 88| r88_12(int) = Load : &:r88_11, m84_6
# 88| r88_12(int) = Load[x] : &:r88_11, m84_6
# 88| valnum = m84_6, m88_14, r88_12
# 88| r88_13(glval<int>) = VariableAddress[#temp88:7] :
# 88| valnum = r88_13, r88_17, r88_7
# 88| m88_14(int) = Store : &:r88_13, r88_12
# 88| m88_14(int) = Store[#temp88:7] : &:r88_13, r88_12
# 88| valnum = m84_6, m88_14, r88_12
#-----| Goto -> Block 1
# 88| Block 3
# 88| r88_15(glval<int>) = VariableAddress[y] :
# 88| valnum = r84_7, r88_15
# 88| r88_16(int) = Load : &:r88_15, m84_8
# 88| r88_16(int) = Load[y] : &:r88_15, m84_8
# 88| valnum = m84_8, m88_18, r88_16
# 88| r88_17(glval<int>) = VariableAddress[#temp88:7] :
# 88| valnum = r88_13, r88_17, r88_7
# 88| m88_18(int) = Store : &:r88_17, r88_16
# 88| m88_18(int) = Store[#temp88:7] : &:r88_17, r88_16
# 88| valnum = m84_8, m88_18, r88_16
#-----| Goto -> Block 1
@@ -703,19 +703,19 @@ test.cpp:
# 92| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3
# 92| r92_3(glval<int>) = VariableAddress[x] :
# 92| valnum = r92_1, r92_3, r93_2
# 92| m92_4(int) = Store : &:r92_3, r92_2
# 92| m92_4(int) = Store[x] : &:r92_3, r92_2
# 92| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3
# 92| r92_5(int) = CopyValue : r92_2
# 92| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3
# 92| m92_6(int) = Store : &:r92_1, r92_5
# 92| m92_6(int) = Store[x] : &:r92_1, r92_5
# 92| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3
# 93| r93_1(glval<int>) = VariableAddress[#return] :
# 93| valnum = r91_5, r93_1
# 93| r93_2(glval<int>) = VariableAddress[x] :
# 93| valnum = r92_1, r92_3, r93_2
# 93| r93_3(int) = Load : &:r93_2, m92_6
# 93| r93_3(int) = Load[x] : &:r93_2, m92_6
# 93| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3
# 93| m93_4(int) = Store : &:r93_1, r93_3
# 93| m93_4(int) = Store[#return] : &:r93_1, r93_3
# 93| valnum = m92_4, m92_6, m93_4, r92_2, r92_5, r93_3
# 91| r91_5(glval<int>) = VariableAddress[#return] :
# 91| valnum = r91_5, r93_1
@@ -736,7 +736,7 @@ test.cpp:
# 104| valnum = r104_5, r105_2, r106_2
# 104| m104_6(Derived *) = InitializeParameter[pd] : &:r104_5
# 104| valnum = m104_6, r104_7, r105_3, r106_3
# 104| r104_7(Derived *) = Load : &:r104_5, m104_6
# 104| r104_7(Derived *) = Load[pd] : &:r104_5, m104_6
# 104| valnum = m104_6, r104_7, r105_3, r106_3
# 104| m104_8(unknown) = InitializeIndirection[pd] : &:r104_7
# 104| valnum = unique
@@ -744,45 +744,45 @@ test.cpp:
# 105| valnum = unique
# 105| r105_2(glval<Derived *>) = VariableAddress[pd] :
# 105| valnum = r104_5, r105_2, r106_2
# 105| r105_3(Derived *) = Load : &:r105_2, m104_6
# 105| r105_3(Derived *) = Load[pd] : &:r105_2, m104_6
# 105| valnum = m104_6, r104_7, r105_3, r106_3
# 105| r105_4(Base *) = ConvertToNonVirtualBase[Derived : Base] : r105_3
# 105| valnum = m106_5, r105_4, r106_4, r107_3
# 105| r105_5(glval<int>) = FieldAddress[b] : r105_4
# 105| valnum = r105_5, r107_4
# 105| r105_6(int) = Load : &:r105_5, ~m104_8
# 105| r105_6(int) = Load[?] : &:r105_5, ~m104_8
# 105| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3
# 105| m105_7(int) = Store : &:r105_1, r105_6
# 105| m105_7(int) = Store[x] : &:r105_1, r105_6
# 105| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3
# 106| r106_1(glval<Base *>) = VariableAddress[pb] :
# 106| valnum = r106_1, r107_2
# 106| r106_2(glval<Derived *>) = VariableAddress[pd] :
# 106| valnum = r104_5, r105_2, r106_2
# 106| r106_3(Derived *) = Load : &:r106_2, m104_6
# 106| r106_3(Derived *) = Load[pd] : &:r106_2, m104_6
# 106| valnum = m104_6, r104_7, r105_3, r106_3
# 106| r106_4(Base *) = ConvertToNonVirtualBase[Derived : Base] : r106_3
# 106| valnum = m106_5, r105_4, r106_4, r107_3
# 106| m106_5(Base *) = Store : &:r106_1, r106_4
# 106| m106_5(Base *) = Store[pb] : &:r106_1, r106_4
# 106| valnum = m106_5, r105_4, r106_4, r107_3
# 107| r107_1(glval<int>) = VariableAddress[y] :
# 107| valnum = r107_1, r109_2
# 107| r107_2(glval<Base *>) = VariableAddress[pb] :
# 107| valnum = r106_1, r107_2
# 107| r107_3(Base *) = Load : &:r107_2, m106_5
# 107| r107_3(Base *) = Load[pb] : &:r107_2, m106_5
# 107| valnum = m106_5, r105_4, r106_4, r107_3
# 107| r107_4(glval<int>) = FieldAddress[b] : r107_3
# 107| valnum = r105_5, r107_4
# 107| r107_5(int) = Load : &:r107_4, ~m104_8
# 107| r107_5(int) = Load[?] : &:r107_4, ~m104_8
# 107| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3
# 107| m107_6(int) = Store : &:r107_1, r107_5
# 107| m107_6(int) = Store[y] : &:r107_1, r107_5
# 107| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3
# 109| r109_1(glval<int>) = VariableAddress[#return] :
# 109| valnum = r104_10, r109_1
# 109| r109_2(glval<int>) = VariableAddress[y] :
# 109| valnum = r107_1, r109_2
# 109| r109_3(int) = Load : &:r109_2, m107_6
# 109| r109_3(int) = Load[y] : &:r109_2, m107_6
# 109| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3
# 109| m109_4(int) = Store : &:r109_1, r109_3
# 109| m109_4(int) = Store[#return] : &:r109_1, r109_3
# 109| valnum = m105_7, m107_6, m109_4, r105_6, r107_5, r109_3
# 104| v104_9(void) = ReturnIndirection[pd] : &:r104_7, m104_8
# 104| r104_10(glval<int>) = VariableAddress[#return] :
@@ -826,7 +826,7 @@ test.cpp:
# 124| valnum = r124_5, r125_2, r126_2, r128_3, r129_2
# 124| m124_6(A *) = InitializeParameter[pa] : &:r124_5
# 124| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3
# 124| r124_7(A *) = Load : &:r124_5, m124_6
# 124| r124_7(A *) = Load[pa] : &:r124_5, m124_6
# 124| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3
# 124| m124_8(unknown) = InitializeIndirection[pa] : &:r124_7
# 124| valnum = unique
@@ -838,37 +838,37 @@ test.cpp:
# 125| valnum = unique
# 125| r125_2(glval<A *>) = VariableAddress[pa] :
# 125| valnum = r124_5, r125_2, r126_2, r128_3, r129_2
# 125| r125_3(A *) = Load : &:r125_2, m124_6
# 125| r125_3(A *) = Load[pa] : &:r125_2, m124_6
# 125| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3
# 125| r125_4(glval<int>) = FieldAddress[x] : r125_3
# 125| valnum = r125_4, r126_4, r128_5, r129_4
# 125| r125_5(int) = Load : &:r125_4, ~m124_8
# 125| r125_5(int) = Load[?] : &:r125_4, ~m124_8
# 125| valnum = m125_6, m126_6, r125_5, r126_5
# 125| m125_6(int) = Store : &:r125_1, r125_5
# 125| m125_6(int) = Store[b] : &:r125_1, r125_5
# 125| valnum = m125_6, m126_6, r125_5, r126_5
# 126| r126_1(glval<int>) = VariableAddress[c] :
# 126| valnum = unique
# 126| r126_2(glval<A *>) = VariableAddress[pa] :
# 126| valnum = r124_5, r125_2, r126_2, r128_3, r129_2
# 126| r126_3(A *) = Load : &:r126_2, m124_6
# 126| r126_3(A *) = Load[pa] : &:r126_2, m124_6
# 126| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3
# 126| r126_4(glval<int>) = FieldAddress[x] : r126_3
# 126| valnum = r125_4, r126_4, r128_5, r129_4
# 126| r126_5(int) = Load : &:r126_4, ~m124_8
# 126| r126_5(int) = Load[?] : &:r126_4, ~m124_8
# 126| valnum = m125_6, m126_6, r125_5, r126_5
# 126| m126_6(int) = Store : &:r126_1, r126_5
# 126| m126_6(int) = Store[c] : &:r126_1, r126_5
# 126| valnum = m125_6, m126_6, r125_5, r126_5
# 128| r128_1(glval<int>) = VariableAddress[n] :
# 128| valnum = r124_9, r128_1
# 128| r128_2(int) = Load : &:r128_1, m124_10
# 128| r128_2(int) = Load[n] : &:r128_1, m124_10
# 128| valnum = m124_10, m128_6, m129_6, r128_2, r129_5
# 128| r128_3(glval<A *>) = VariableAddress[pa] :
# 128| valnum = r124_5, r125_2, r126_2, r128_3, r129_2
# 128| r128_4(A *) = Load : &:r128_3, m124_6
# 128| r128_4(A *) = Load[pa] : &:r128_3, m124_6
# 128| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3
# 128| r128_5(glval<int>) = FieldAddress[x] : r128_4
# 128| valnum = r125_4, r126_4, r128_5, r129_4
# 128| m128_6(int) = Store : &:r128_5, r128_2
# 128| m128_6(int) = Store[?] : &:r128_5, r128_2
# 128| valnum = m124_10, m128_6, m129_6, r128_2, r129_5
# 128| m128_7(unknown) = Chi : total:m124_8, partial:m128_6
# 128| valnum = unique
@@ -876,13 +876,13 @@ test.cpp:
# 129| valnum = unique
# 129| r129_2(glval<A *>) = VariableAddress[pa] :
# 129| valnum = r124_5, r125_2, r126_2, r128_3, r129_2
# 129| r129_3(A *) = Load : &:r129_2, m124_6
# 129| r129_3(A *) = Load[pa] : &:r129_2, m124_6
# 129| valnum = m124_6, r124_7, r125_3, r126_3, r128_4, r129_3
# 129| r129_4(glval<int>) = FieldAddress[x] : r129_3
# 129| valnum = r125_4, r126_4, r128_5, r129_4
# 129| r129_5(int) = Load : &:r129_4, m128_6
# 129| r129_5(int) = Load[?] : &:r129_4, m128_6
# 129| valnum = m124_10, m128_6, m129_6, r128_2, r129_5
# 129| m129_6(int) = Store : &:r129_1, r129_5
# 129| m129_6(int) = Store[d] : &:r129_1, r129_5
# 129| valnum = m124_10, m128_6, m129_6, r128_2, r129_5
# 130| v130_1(void) = NoOp :
# 124| v124_11(void) = ReturnIndirection[pa] : &:r124_7, m128_7
@@ -903,37 +903,37 @@ test.cpp:
# 136| valnum = unique
# 136| r136_2(glval<A *>) = VariableAddress[global_a] :
# 136| valnum = r136_2, r137_2, r139_3, r140_2
# 136| r136_3(A *) = Load : &:r136_2, ~m135_3
# 136| r136_3(A *) = Load[global_a] : &:r136_2, ~m135_3
# 136| valnum = r136_3, r137_3, r139_4
# 136| r136_4(glval<int>) = FieldAddress[x] : r136_3
# 136| valnum = r136_4, r137_4, r139_5
# 136| r136_5(int) = Load : &:r136_4, ~m135_4
# 136| r136_5(int) = Load[?] : &:r136_4, ~m135_4
# 136| valnum = m136_6, m137_6, r136_5, r137_5
# 136| m136_6(int) = Store : &:r136_1, r136_5
# 136| m136_6(int) = Store[b] : &:r136_1, r136_5
# 136| valnum = m136_6, m137_6, r136_5, r137_5
# 137| r137_1(glval<int>) = VariableAddress[c] :
# 137| valnum = unique
# 137| r137_2(glval<A *>) = VariableAddress[global_a] :
# 137| valnum = r136_2, r137_2, r139_3, r140_2
# 137| r137_3(A *) = Load : &:r137_2, ~m135_3
# 137| r137_3(A *) = Load[global_a] : &:r137_2, ~m135_3
# 137| valnum = r136_3, r137_3, r139_4
# 137| r137_4(glval<int>) = FieldAddress[x] : r137_3
# 137| valnum = r136_4, r137_4, r139_5
# 137| r137_5(int) = Load : &:r137_4, ~m135_4
# 137| r137_5(int) = Load[?] : &:r137_4, ~m135_4
# 137| valnum = m136_6, m137_6, r136_5, r137_5
# 137| m137_6(int) = Store : &:r137_1, r137_5
# 137| m137_6(int) = Store[c] : &:r137_1, r137_5
# 137| valnum = m136_6, m137_6, r136_5, r137_5
# 139| r139_1(glval<int>) = VariableAddress[global_n] :
# 139| valnum = unique
# 139| r139_2(int) = Load : &:r139_1, ~m135_3
# 139| r139_2(int) = Load[global_n] : &:r139_1, ~m135_3
# 139| valnum = m139_6, r139_2
# 139| r139_3(glval<A *>) = VariableAddress[global_a] :
# 139| valnum = r136_2, r137_2, r139_3, r140_2
# 139| r139_4(A *) = Load : &:r139_3, ~m135_3
# 139| r139_4(A *) = Load[global_a] : &:r139_3, ~m135_3
# 139| valnum = r136_3, r137_3, r139_4
# 139| r139_5(glval<int>) = FieldAddress[x] : r139_4
# 139| valnum = r136_4, r137_4, r139_5
# 139| m139_6(int) = Store : &:r139_5, r139_2
# 139| m139_6(int) = Store[?] : &:r139_5, r139_2
# 139| valnum = m139_6, r139_2
# 139| m139_7(unknown) = Chi : total:m135_4, partial:m139_6
# 139| valnum = unique
@@ -941,13 +941,13 @@ test.cpp:
# 140| valnum = unique
# 140| r140_2(glval<A *>) = VariableAddress[global_a] :
# 140| valnum = r136_2, r137_2, r139_3, r140_2
# 140| r140_3(A *) = Load : &:r140_2, ~m139_7
# 140| r140_3(A *) = Load[global_a] : &:r140_2, ~m139_7
# 140| valnum = unique
# 140| r140_4(glval<int>) = FieldAddress[x] : r140_3
# 140| valnum = unique
# 140| r140_5(int) = Load : &:r140_4, ~m139_7
# 140| r140_5(int) = Load[?] : &:r140_4, ~m139_7
# 140| valnum = m140_6, r140_5
# 140| m140_6(int) = Store : &:r140_1, r140_5
# 140| m140_6(int) = Store[d] : &:r140_1, r140_5
# 140| valnum = m140_6, r140_5
# 141| v141_1(void) = NoOp :
# 135| v135_5(void) = ReturnVoid :
@@ -967,7 +967,7 @@ test.cpp:
# 143| valnum = r143_5, r144_2, r145_2, r147_3, r149_2
# 143| m143_6(A *) = InitializeParameter[pa] : &:r143_5
# 143| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3
# 143| r143_7(A *) = Load : &:r143_5, m143_6
# 143| r143_7(A *) = Load[pa] : &:r143_5, m143_6
# 143| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3
# 143| m143_8(unknown) = InitializeIndirection[pa] : &:r143_7
# 143| valnum = unique
@@ -975,37 +975,37 @@ test.cpp:
# 144| valnum = unique
# 144| r144_2(glval<A *>) = VariableAddress[pa] :
# 144| valnum = r143_5, r144_2, r145_2, r147_3, r149_2
# 144| r144_3(A *) = Load : &:r144_2, m143_6
# 144| r144_3(A *) = Load[pa] : &:r144_2, m143_6
# 144| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3
# 144| r144_4(glval<int>) = FieldAddress[x] : r144_3
# 144| valnum = r144_4, r149_4
# 144| r144_5(int) = Load : &:r144_4, ~m143_8
# 144| r144_5(int) = Load[?] : &:r144_4, ~m143_8
# 144| valnum = m144_6, m149_6, r144_5, r149_5
# 144| m144_6(int) = Store : &:r144_1, r144_5
# 144| m144_6(int) = Store[b] : &:r144_1, r144_5
# 144| valnum = m144_6, m149_6, r144_5, r149_5
# 145| r145_1(glval<int>) = VariableAddress[c] :
# 145| valnum = unique
# 145| r145_2(glval<A *>) = VariableAddress[pa] :
# 145| valnum = r143_5, r144_2, r145_2, r147_3, r149_2
# 145| r145_3(A *) = Load : &:r145_2, m143_6
# 145| r145_3(A *) = Load[pa] : &:r145_2, m143_6
# 145| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3
# 145| r145_4(glval<int>) = FieldAddress[y] : r145_3
# 145| valnum = r145_4, r147_5
# 145| r145_5(int) = Load : &:r145_4, ~m143_8
# 145| r145_5(int) = Load[?] : &:r145_4, ~m143_8
# 145| valnum = m145_6, r145_5
# 145| m145_6(int) = Store : &:r145_1, r145_5
# 145| m145_6(int) = Store[c] : &:r145_1, r145_5
# 145| valnum = m145_6, r145_5
# 147| r147_1(glval<int>) = VariableAddress[global_n] :
# 147| valnum = unique
# 147| r147_2(int) = Load : &:r147_1, ~m143_3
# 147| r147_2(int) = Load[global_n] : &:r147_1, ~m143_3
# 147| valnum = m147_6, r147_2
# 147| r147_3(glval<A *>) = VariableAddress[pa] :
# 147| valnum = r143_5, r144_2, r145_2, r147_3, r149_2
# 147| r147_4(A *) = Load : &:r147_3, m143_6
# 147| r147_4(A *) = Load[pa] : &:r147_3, m143_6
# 147| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3
# 147| r147_5(glval<int>) = FieldAddress[y] : r147_4
# 147| valnum = r145_4, r147_5
# 147| m147_6(int) = Store : &:r147_5, r147_2
# 147| m147_6(int) = Store[?] : &:r147_5, r147_2
# 147| valnum = m147_6, r147_2
# 147| m147_7(unknown) = Chi : total:m143_8, partial:m147_6
# 147| valnum = unique
@@ -1013,13 +1013,13 @@ test.cpp:
# 149| valnum = unique
# 149| r149_2(glval<A *>) = VariableAddress[pa] :
# 149| valnum = r143_5, r144_2, r145_2, r147_3, r149_2
# 149| r149_3(A *) = Load : &:r149_2, m143_6
# 149| r149_3(A *) = Load[pa] : &:r149_2, m143_6
# 149| valnum = m143_6, r143_7, r144_3, r145_3, r147_4, r149_3
# 149| r149_4(glval<int>) = FieldAddress[x] : r149_3
# 149| valnum = r144_4, r149_4
# 149| r149_5(int) = Load : &:r149_4, ~m143_8
# 149| r149_5(int) = Load[?] : &:r149_4, ~m143_8
# 149| valnum = m144_6, m149_6, r144_5, r149_5
# 149| m149_6(int) = Store : &:r149_1, r149_5
# 149| m149_6(int) = Store[d] : &:r149_1, r149_5
# 149| valnum = m144_6, m149_6, r144_5, r149_5
# 150| v150_1(void) = NoOp :
# 143| v143_9(void) = ReturnIndirection[pa] : &:r143_7, m147_7
@@ -1044,37 +1044,37 @@ test.cpp:
# 153| valnum = unique
# 153| r153_2(glval<A *>) = VariableAddress[global_a] :
# 153| valnum = r153_2, r154_2, r156_3, r158_2
# 153| r153_3(A *) = Load : &:r153_2, ~m152_3
# 153| r153_3(A *) = Load[global_a] : &:r153_2, ~m152_3
# 153| valnum = r153_3, r154_3, r156_4
# 153| r153_4(glval<int>) = FieldAddress[x] : r153_3
# 153| valnum = r153_4, r154_4
# 153| r153_5(int) = Load : &:r153_4, ~m152_4
# 153| r153_5(int) = Load[?] : &:r153_4, ~m152_4
# 153| valnum = m153_6, m154_6, r153_5, r154_5
# 153| m153_6(int) = Store : &:r153_1, r153_5
# 153| m153_6(int) = Store[b] : &:r153_1, r153_5
# 153| valnum = m153_6, m154_6, r153_5, r154_5
# 154| r154_1(glval<int>) = VariableAddress[c] :
# 154| valnum = unique
# 154| r154_2(glval<A *>) = VariableAddress[global_a] :
# 154| valnum = r153_2, r154_2, r156_3, r158_2
# 154| r154_3(A *) = Load : &:r154_2, ~m152_3
# 154| r154_3(A *) = Load[global_a] : &:r154_2, ~m152_3
# 154| valnum = r153_3, r154_3, r156_4
# 154| r154_4(glval<int>) = FieldAddress[x] : r154_3
# 154| valnum = r153_4, r154_4
# 154| r154_5(int) = Load : &:r154_4, ~m152_4
# 154| r154_5(int) = Load[?] : &:r154_4, ~m152_4
# 154| valnum = m153_6, m154_6, r153_5, r154_5
# 154| m154_6(int) = Store : &:r154_1, r154_5
# 154| m154_6(int) = Store[c] : &:r154_1, r154_5
# 154| valnum = m153_6, m154_6, r153_5, r154_5
# 156| r156_1(glval<int>) = VariableAddress[n] :
# 156| valnum = r152_5, r156_1
# 156| r156_2(int) = Load : &:r156_1, m152_6
# 156| r156_2(int) = Load[n] : &:r156_1, m152_6
# 156| valnum = m152_6, m156_6, r156_2
# 156| r156_3(glval<A *>) = VariableAddress[global_a] :
# 156| valnum = r153_2, r154_2, r156_3, r158_2
# 156| r156_4(A *) = Load : &:r156_3, ~m152_3
# 156| r156_4(A *) = Load[global_a] : &:r156_3, ~m152_3
# 156| valnum = r153_3, r154_3, r156_4
# 156| r156_5(glval<int>) = FieldAddress[y] : r156_4
# 156| valnum = unique
# 156| m156_6(int) = Store : &:r156_5, r156_2
# 156| m156_6(int) = Store[?] : &:r156_5, r156_2
# 156| valnum = m152_6, m156_6, r156_2
# 156| m156_7(unknown) = Chi : total:m152_4, partial:m156_6
# 156| valnum = unique
@@ -1082,13 +1082,13 @@ test.cpp:
# 158| valnum = unique
# 158| r158_2(glval<A *>) = VariableAddress[global_a] :
# 158| valnum = r153_2, r154_2, r156_3, r158_2
# 158| r158_3(A *) = Load : &:r158_2, ~m156_7
# 158| r158_3(A *) = Load[global_a] : &:r158_2, ~m156_7
# 158| valnum = unique
# 158| r158_4(glval<int>) = FieldAddress[x] : r158_3
# 158| valnum = unique
# 158| r158_5(int) = Load : &:r158_4, ~m156_7
# 158| r158_5(int) = Load[?] : &:r158_4, ~m156_7
# 158| valnum = m158_6, r158_5
# 158| m158_6(int) = Store : &:r158_1, r158_5
# 158| m158_6(int) = Store[d] : &:r158_1, r158_5
# 158| valnum = m158_6, r158_5
# 159| v159_1(void) = NoOp :
# 152| v152_7(void) = ReturnVoid :

View File

@@ -2,9 +2,9 @@
| constexpr.cpp:3:5:3:33 | var_not_constexpr_initialised | false |
| constexpr.cpp:4:11:4:33 | var_not_constexpr_const | false |
| constexpr.cpp:5:5:5:21 | var_not_constexpr | false |
| file://:0:0:0:0 | (unnamed parameter 0) | false |
| file://:0:0:0:0 | (unnamed parameter 0) | false |
| file://:0:0:0:0 | fp_offset | false |
| file://:0:0:0:0 | gp_offset | false |
| file://:0:0:0:0 | overflow_arg_area | false |
| file://:0:0:0:0 | p#0 | false |
| file://:0:0:0:0 | p#0 | false |
| file://:0:0:0:0 | reg_save_area | false |

View File

@@ -1,8 +1,8 @@
| file://:0:0:0:0 | (unnamed parameter 0) | false |
| file://:0:0:0:0 | (unnamed parameter 0) | false |
| file://:0:0:0:0 | fp_offset | false |
| file://:0:0:0:0 | gp_offset | false |
| file://:0:0:0:0 | overflow_arg_area | false |
| file://:0:0:0:0 | p#0 | false |
| file://:0:0:0:0 | p#0 | false |
| file://:0:0:0:0 | reg_save_area | false |
| thread_local.cpp:3:20:3:30 | threadLocal | true |
| thread_local.cpp:4:7:4:21 | not_threadLocal | false |

View File

@@ -1,10 +1,10 @@
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | __va_list_tag && | SemanticStackVariable | | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | address && | SemanticStackVariable | | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const __va_list_tag & | SemanticStackVariable | | |
| file://:0:0:0:0 | (unnamed parameter 0) | file://:0:0:0:0 | const address & | SemanticStackVariable | | |
| file://:0:0:0:0 | fp_offset | file://:0:0:0:0 | unsigned int | Field | | |
| file://:0:0:0:0 | gp_offset | file://:0:0:0:0 | unsigned int | Field | | |
| file://:0:0:0:0 | overflow_arg_area | file://:0:0:0:0 | void * | Field | | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | __va_list_tag && | SemanticStackVariable | | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | address && | SemanticStackVariable | | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const __va_list_tag & | SemanticStackVariable | | |
| file://:0:0:0:0 | p#0 | file://:0:0:0:0 | const address & | SemanticStackVariable | | |
| file://:0:0:0:0 | reg_save_area | file://:0:0:0:0 | void * | Field | | |
| variables.cpp:1:12:1:12 | i | file://:0:0:0:0 | int | GlobalVariable | | |
| variables.cpp:1:12:1:12 | i | file://:0:0:0:0 | int | StaticStorageDurationVariable | | |

View File

@@ -1,17 +1,17 @@
| file://:0:0:0:0 | (unnamed parameter 0) | (unnamed parameter 0) | file://:0:0:0:0 | __attribute((vector_size(16))) double | 16 |
| file://:0:0:0:0 | (unnamed parameter 0) | (unnamed parameter 0) | file://:0:0:0:0 | __attribute((vector_size(16))) float | 16 |
| file://:0:0:0:0 | (unnamed parameter 0) | (unnamed parameter 0) | file://:0:0:0:0 | __va_list_tag && | 8 |
| file://:0:0:0:0 | (unnamed parameter 0) | (unnamed parameter 0) | file://:0:0:0:0 | const __va_list_tag & | 8 |
| file://:0:0:0:0 | (unnamed parameter 0) | (unnamed parameter 0) | file://:0:0:0:0 | double * | 8 |
| file://:0:0:0:0 | (unnamed parameter 0) | (unnamed parameter 0) | file://:0:0:0:0 | float * | 8 |
| file://:0:0:0:0 | (unnamed parameter 1) | (unnamed parameter 1) | file://:0:0:0:0 | __attribute((vector_size(16))) double | 16 |
| file://:0:0:0:0 | (unnamed parameter 1) | (unnamed parameter 1) | file://:0:0:0:0 | __attribute((vector_size(16))) double | 16 |
| file://:0:0:0:0 | (unnamed parameter 1) | (unnamed parameter 1) | file://:0:0:0:0 | __attribute((vector_size(16))) float | 16 |
| file://:0:0:0:0 | (unnamed parameter 1) | (unnamed parameter 1) | file://:0:0:0:0 | __attribute((vector_size(16))) float | 16 |
| file://:0:0:0:0 | (unnamed parameter 2) | (unnamed parameter 2) | file://:0:0:0:0 | char | 1 |
| file://:0:0:0:0 | fp_offset | fp_offset | file://:0:0:0:0 | unsigned int | 4 |
| file://:0:0:0:0 | gp_offset | gp_offset | file://:0:0:0:0 | unsigned int | 4 |
| file://:0:0:0:0 | overflow_arg_area | overflow_arg_area | file://:0:0:0:0 | void * | 8 |
| file://:0:0:0:0 | p#0 | p#0 | file://:0:0:0:0 | __attribute((vector_size(16))) double | 16 |
| file://:0:0:0:0 | p#0 | p#0 | file://:0:0:0:0 | __attribute((vector_size(16))) float | 16 |
| file://:0:0:0:0 | p#0 | p#0 | file://:0:0:0:0 | __va_list_tag && | 8 |
| file://:0:0:0:0 | p#0 | p#0 | file://:0:0:0:0 | const __va_list_tag & | 8 |
| file://:0:0:0:0 | p#0 | p#0 | file://:0:0:0:0 | double * | 8 |
| file://:0:0:0:0 | p#0 | p#0 | file://:0:0:0:0 | float * | 8 |
| file://:0:0:0:0 | p#1 | p#1 | file://:0:0:0:0 | __attribute((vector_size(16))) double | 16 |
| file://:0:0:0:0 | p#1 | p#1 | file://:0:0:0:0 | __attribute((vector_size(16))) double | 16 |
| file://:0:0:0:0 | p#1 | p#1 | file://:0:0:0:0 | __attribute((vector_size(16))) float | 16 |
| file://:0:0:0:0 | p#1 | p#1 | file://:0:0:0:0 | __attribute((vector_size(16))) float | 16 |
| file://:0:0:0:0 | p#2 | p#2 | file://:0:0:0:0 | char | 1 |
| file://:0:0:0:0 | reg_save_area | reg_save_area | file://:0:0:0:0 | void * | 8 |
| vector_types.cpp:9:21:9:21 | x | x | vector_types.cpp:6:15:6:17 | v4f | 16 |
| vector_types.cpp:14:18:14:20 | lhs | lhs | vector_types.cpp:6:15:6:17 | v4f | 16 |

View File

@@ -0,0 +1,6 @@
| test.cpp:23:8:23:8 | p | Value may be null; it should be checked before dereferencing. |
| test.cpp:35:10:35:10 | q | Value may be null; it should be checked before dereferencing. |
| test.cpp:43:13:43:13 | q | Value may be null; it should be checked before dereferencing. |
| test.cpp:51:17:51:17 | q | Value may be null; it should be checked before dereferencing. |
| test.cpp:58:8:58:8 | p | Value may be null; it should be checked before dereferencing. |
| test.cpp:67:8:67:8 | p | Value may be null; it should be checked before dereferencing. |

View File

@@ -0,0 +1 @@
Critical/MissingNullTest.ql

View File

@@ -0,0 +1,71 @@
#define NULL (0)
typedef unsigned long size_t;
void *memcpy(void *s1, const void *s2, size_t n);
void bcopy(const void *source, void *dest, size_t amount);
void mycopyint(const int *source, int *dest)
{
*dest = *source;
}
void test1(bool cond)
{
int x, y;
{
int *p, *q;
y = *p; // BAD (p is uninitialized and could be 0) [NOT DETECTED]
p = NULL;
y = *p; // BAD (p is 0)
p = &x;
y = *p; // GOOD (p points to x)
p = q;
y = *p; // BAD (p is uninitialized and could be 0) [NOT DETECTED]
}
{
int *p = &x;
int *q = 0;
memcpy(p, &y, sizeof(int)); // GOOD (p points to x)
memcpy(q, &y, sizeof(int)); // BAD (p is 0)
}
{
int *p = &x;
int *q = 0;
bcopy(&y, p, sizeof(int)); // GOOD (p points to x)
bcopy(&y, q, sizeof(int)); // BAD (p is 0)
}
{
int *p = &x;
int *q = 0;
mycopyint(&y, p); // GOOD (p points to x)
mycopyint(&y, q); // BAD (p is 0)
}
{
int *p = 0;
int *q = &x;
y = *p; // BAD (p is 0)
memcpy(&p, &q, sizeof(p));
y = *p; // GOOD (p points to x)
}
{
int *p = 0;
int *q = &x;
y = *p; // BAD (p is 0)
bcopy(&q, &p, sizeof(p));
y = *p; // GOOD (p points to x)
}
}

View File

@@ -1,5 +1,5 @@
| test.c:33:3:33:19 | call to not_yet_declared2 | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:32:3:32:3 | not_yet_declared2 | not_yet_declared2 | test.c:33:21:33:22 | ca | ca | file://:0:0:0:0 | int[4] | int[4] | test.c:76:24:76:26 | p#0 | int p#0 |
| test.c:33:3:33:19 | call to not_yet_declared2 | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:76:6:76:22 | not_yet_declared2 | not_yet_declared2 | test.c:33:21:33:22 | ca | ca | file://:0:0:0:0 | int[4] | int[4] | test.c:76:24:76:26 | p#0 | int p#0 |
| test.c:33:3:33:19 | call to not_yet_declared2 | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:32:3:32:3 | not_yet_declared2 | not_yet_declared2 | test.c:33:21:33:22 | ca | ca | file://:0:0:0:0 | int[4] | int[4] | test.c:76:24:76:26 | (unnamed parameter 0) | int (unnamed parameter 0) |
| test.c:33:3:33:19 | call to not_yet_declared2 | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:76:6:76:22 | not_yet_declared2 | not_yet_declared2 | test.c:33:21:33:22 | ca | ca | file://:0:0:0:0 | int[4] | int[4] | test.c:76:24:76:26 | (unnamed parameter 0) | int (unnamed parameter 0) |
| test.c:40:3:40:29 | call to declared_empty_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:77:6:77:32 | declared_empty_defined_with | declared_empty_defined_with | test.c:40:31:40:32 | & ... | & ... | file://:0:0:0:0 | int * | int * | test.c:77:38:77:38 | x | int x |
| test.c:44:3:44:27 | call to not_declared_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:80:6:80:30 | not_declared_defined_with | not_declared_defined_with | test.c:44:29:44:31 | 4 | 4 | file://:0:0:0:0 | long long | long long | test.c:80:36:80:36 | x | int x |
| test.c:44:3:44:27 | call to not_declared_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:80:6:80:30 | not_declared_defined_with | not_declared_defined_with | test.c:44:37:44:42 | 2500000000.0 | 2500000000.0 | file://:0:0:0:0 | float | float | test.c:80:50:80:50 | z | int z |