fold/scripts/benchmarks/fold_eval/toolchain.py
trvon 2dcbdbc75d
feat: harden Fold quality guard
Preserve source, binary, and runtime evidence boundaries while making precision and performance regressions reproducible.

- decompose analysis orchestration into bounded modules
- add differential, metamorphic, organic, and Yams change-time gates
- fix detector, P-Code, fuzz sanitizer, and report identity precision
2026-07-13 15:05:35 -04:00

26 lines
688 B
Python

"""Portable compiler discovery for benchmark comparator lanes."""
from __future__ import annotations
import shutil
from pathlib import Path
def find_clang(override: str | None = None) -> str | None:
candidates = [
override,
"/opt/homebrew/opt/llvm@22/bin/clang++",
"/opt/homebrew/opt/llvm/bin/clang++",
"/usr/local/opt/llvm/bin/clang++",
"clang++",
]
for candidate in candidates:
if not candidate:
continue
resolved = shutil.which(candidate)
if resolved:
return resolved
path = Path(candidate)
if path.is_file():
return str(path.resolve())
return None