Skip to content

Commit 7a56266

Browse files
committed
C++: Add more tests.
1 parent fcba709 commit 7a56266

File tree

1 file changed

+54
-1
lines changed
  • cpp/ql/test/library-tests/dataflow/modelgenerator/dataflow

1 file changed

+54
-1
lines changed

cpp/ql/test/library-tests/dataflow/modelgenerator/dataflow/summaries.cpp

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,57 @@ namespace Models {
127127

128128
intFlow.templated_function<int>(nullptr, nullptr);
129129
}
130-
}
130+
}
131+
132+
//summary=;;true;toplevel_function;(int *);;Argument[0];ReturnValue;taint;df-generated
133+
//summary=;;true;toplevel_function;(int *);;Argument[*0];ReturnValue;taint;df-generated
134+
//contentbased-summary=;;true;toplevel_function;(int *);;Argument[0];ReturnValue;taint;dfc-generated
135+
//contentbased-summary=;;true;toplevel_function;(int *);;Argument[*0];ReturnValue;value;dfc-generated
136+
int toplevel_function(int* p) {
137+
return *p;
138+
}
139+
140+
//No model as static functions are excluded from model generation.
141+
static int static_toplevel_function(int* p) {
142+
return *p;
143+
}
144+
145+
struct NonFinalStruct {
146+
//summary=;NonFinalStruct;true;public_not_final_member_function;(int);;Argument[0];ReturnValue;taint;df-generated
147+
//contentbased-summary=;NonFinalStruct;true;public_not_final_member_function;(int);;Argument[0];ReturnValue;value;dfc-generated
148+
virtual int public_not_final_member_function(int x) {
149+
return x;
150+
}
151+
152+
//summary=;NonFinalStruct;false;public_final_member_function;(int);;Argument[0];ReturnValue;taint;df-generated
153+
//contentbased-summary=;NonFinalStruct;false;public_final_member_function;(int);;Argument[0];ReturnValue;value;dfc-generated
154+
virtual int public_final_member_function(int x) final {
155+
return x;
156+
}
157+
158+
private:
159+
//No model as private members are excluded from model generation.
160+
int private_member_function(int x) {
161+
return x;
162+
}
163+
164+
protected:
165+
//No model as protected members are excluded from model generation.
166+
int protected_member_function(int x) {
167+
return x;
168+
}
169+
};
170+
171+
struct FinalStruct final {
172+
//summary=;FinalStruct;false;public_not_final_member_function_2;(int);;Argument[0];ReturnValue;taint;df-generated
173+
//contentbased-summary=;FinalStruct;false;public_not_final_member_function_2;(int);;Argument[0];ReturnValue;value;dfc-generated
174+
virtual int public_not_final_member_function_2(int x) {
175+
return x;
176+
}
177+
178+
//summary=;FinalStruct;false;public_final_member_function_2;(int);;Argument[0];ReturnValue;taint;df-generated
179+
//contentbased-summary=;FinalStruct;false;public_final_member_function_2;(int);;Argument[0];ReturnValue;value;dfc-generated
180+
virtual int public_final_member_function_2(int x) final {
181+
return x;
182+
}
183+
};

0 commit comments

Comments
 (0)