mirror of
https://github.com/github/codeql.git
synced 2025-12-18 18:10:39 +01:00
87 lines
2.0 KiB
C++
87 lines
2.0 KiB
C++
struct Point {
|
|
int x;
|
|
int y;
|
|
};
|
|
|
|
struct Base1 {
|
|
int b1;
|
|
};
|
|
|
|
struct Base2 {
|
|
int b2;
|
|
};
|
|
|
|
struct DerivedSI : Base1 {
|
|
int dsi;
|
|
};
|
|
|
|
struct DerivedMI : Base1, Base2 {
|
|
int dmi;
|
|
};
|
|
|
|
struct DerivedVI : virtual Base1 {
|
|
int dvi;
|
|
};
|
|
|
|
void Locals() {
|
|
Point pt = { //$ussa=pt
|
|
1, //$ussa=pt[0..4)<int>
|
|
2 //$ussa=pt[4..8)<int>
|
|
};
|
|
int i = pt.x; //$ussa=pt[0..4)<int>
|
|
i = pt.y; //$ussa=pt[4..8)<int>
|
|
int* p = &pt.x;
|
|
i = *p; //$ussa=pt[0..4)<int>
|
|
p = &pt.y;
|
|
i = *p; //$ussa=pt[4..8)<int>
|
|
}
|
|
|
|
void PointsTo(
|
|
int a, //$raw=a
|
|
Point& b, //$raw=b ussa=*b
|
|
Point* c, //$raw=c ussa=*c
|
|
int* d, //$raw=d ussa=*d
|
|
DerivedSI* e, //$raw=e ussa=*e
|
|
DerivedMI* f, //$raw=f ussa=*f
|
|
DerivedVI* g //$raw=g ussa=*g
|
|
) {
|
|
|
|
int i = a; //$raw=a
|
|
i = *&a; //$raw=a
|
|
i = *(&a + 0); //$raw=a
|
|
i = b.x; //$raw=b ussa=*b[0..4)<int>
|
|
i = b.y; //$raw=b ussa=*b[4..8)<int>
|
|
i = c->x; //$raw=c ussa=*c[0..4)<int>
|
|
i = c->y; //$raw=c ussa=*c[4..8)<int>
|
|
i = *d; //$raw=d ussa=*d[0..4)<int>
|
|
i = *(d + 0); //$raw=d ussa=*d[0..4)<int>
|
|
i = d[5]; //$raw=d ussa=*d[20..24)<int>
|
|
i = 5[d]; //$raw=d ussa=*d[20..24)<int>
|
|
i = d[a]; //$raw=d raw=a ussa=*d[?..?)<int>
|
|
i = a[d]; //$raw=d raw=a ussa=*d[?..?)<int>
|
|
|
|
int* p = &b.x; //$raw=b
|
|
i = *p; //$ussa=*b[0..4)<int>
|
|
p = &b.y; //$raw=b
|
|
i = *p; //$ussa=*b[4..8)<int>
|
|
p = &c->x; //$raw=c
|
|
i = *p; //$ussa=*c[0..4)<int>
|
|
p = &c->y; //$raw=c
|
|
i = *p; //$ussa=*c[4..8)<int>
|
|
p = &d[5]; //$raw=d
|
|
i = *p; //$ussa=*d[20..24)<int>
|
|
p = &d[a]; //$raw=d raw=a
|
|
i = *p; //$ussa=*d[?..?)<int>
|
|
|
|
Point* q = &c[a]; //$raw=c raw=a
|
|
i = q->x; //$ussa=*c[?..?)<int>
|
|
i = q->y; //$ussa=*c[?..?)<int>
|
|
|
|
i = e->b1; //$raw=e ussa=*e[0..4)<int>
|
|
i = e->dsi; //$raw=e ussa=*e[4..8)<int>
|
|
i = f->b1; //$raw=f ussa=*f[0..4)<int>
|
|
i = f->b2; //$raw=f ussa=*f[4..8)<int>
|
|
i = f->dmi; //$raw=f ussa=*f[8..12)<int>
|
|
i = g->b1; //$raw=g ussa=*g[?..?)<int>
|
|
i = g->dvi; //$raw=g ussa=*g[8..12)<int>
|
|
} |