mirror of
https://github.com/github/codeql.git
synced 2026-01-28 05:42:58 +01:00
This implements calculation of the control-flow graph in QL. The new code is not enabled yet as we'll need more extractor changes first. The `SyntheticDestructorCalls.qll` file is a temporary solution that can be removed when the extractor produces this information directly.
30 lines
582 B
C++
30 lines
582 B
C++
// semmle-extractor-options: -std=c++17
|
|
|
|
// Test cases that illustrate known bad ASTs that we have to work around in IR generation.
|
|
namespace Bad {
|
|
struct S {
|
|
int x;
|
|
|
|
template<int t>
|
|
int MemberFunction(int y) {
|
|
return t + x + y;
|
|
}
|
|
};
|
|
|
|
void CallBadMemberFunction() {
|
|
S s = {};
|
|
s.MemberFunction<6>(1); // Not marked as member function in AST.
|
|
}
|
|
|
|
struct Point {
|
|
int x;
|
|
int y;
|
|
Point() {
|
|
}
|
|
};
|
|
|
|
void CallCopyConstructor(const Point& a) {
|
|
Point b = a; // Copy constructor contains literal expressions with no values.
|
|
}
|
|
}
|