mirror of
https://github.com/github/codeql.git
synced 2026-03-30 12:18:18 +02:00
Some files that will change in #1736 have been spared. ./build -j4 target/jars/qlformat find ql/cpp/ql -name "*.ql" -print0 | xargs -0 target/jars/qlformat --input find ql/cpp/ql -name "*.qll" -print0 | xargs -0 target/jars/qlformat --input (cd ql && git checkout 'cpp/ql/src/semmle/code/cpp/ir/implementation/**/*SSA*.qll') buildutils-internal/scripts/pr-checks/sync-identical-files.py --latest
24 lines
601 B
Plaintext
24 lines
601 B
Plaintext
import default
|
|
import semmle.code.cpp.ir.implementation.unaliased_ssa.internal.AliasAnalysis
|
|
import semmle.code.cpp.ir.implementation.raw.IR
|
|
|
|
predicate shouldEscape(IRAutomaticUserVariable var) {
|
|
exists(string name |
|
|
name = var.getVariable().getName() and
|
|
name.matches("no_%") and
|
|
not name.matches("no_ssa_%")
|
|
)
|
|
}
|
|
|
|
from IRAutomaticUserVariable var
|
|
where
|
|
exists(IRFunction irFunc |
|
|
irFunc = var.getEnclosingIRFunction() and
|
|
(
|
|
shouldEscape(var) and variableAddressEscapes(var)
|
|
or
|
|
not shouldEscape(var) and not variableAddressEscapes(var)
|
|
)
|
|
)
|
|
select var
|