mirror of
https://github.com/github/codeql.git
synced 2026-03-04 14:46:48 +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.
39 lines
423 B
C++
39 lines
423 B
C++
struct HasDtor {
|
|
int x;
|
|
~HasDtor();
|
|
};
|
|
|
|
int destructors_main(HasDtor p) {
|
|
HasDtor fscope;
|
|
{
|
|
HasDtor inner;
|
|
if (p.x == 1) {
|
|
return 1;
|
|
}
|
|
;
|
|
}
|
|
if (p.x == 2) {
|
|
return 2;
|
|
}
|
|
;
|
|
return 3;
|
|
;
|
|
}
|
|
|
|
|
|
void destructor_after_handler() {
|
|
HasDtor x;
|
|
|
|
try {
|
|
} catch (const HasDtor&) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
void destructor_catch() {
|
|
try {
|
|
} catch (HasDtor d) {
|
|
HasDtor d2 = { 0 };
|
|
}
|
|
}
|