fold/tests/fixtures/equiv/abs_two_ways.cpp
trvon 3f1234f7bb
fold: bounded symbolic SAST for C++
Clang LibTooling + Z3 BV-64 encoding.
11 detectors: clone, equiv, class-dup, dead, null-deref,
div-by-zero, int-overflow, oob, int-truncation,
sign-conversion, taint-track.

Interfaces: CLI, MCP (JSON-RPC 2.0), LSP.
Output: SARIF 2.1.0, JSON, Markdown.
2026-05-14 23:14:54 -04:00

11 lines
257 B
C++

// Two semantically equivalent abs implementations. Same signature, different
// AST shape (if/else vs ternary). Should fire the Type-4 detector.
int abs_a(int x) {
if (x < 0) return -x;
return x;
}
int abs_b(int y) {
return y < 0 ? -y : y;
}