[clang] [llvm] [NFC][analyzer] Extract bounds checking library (PR #202372)

DonĂ¡t Nagy via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 1 05:19:27 PDT 2026


================
@@ -0,0 +1,449 @@
+//===- BoundsChecking.cpp - Bounds checking related APIs --------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+//
+//  This file defines APIs for performing a bounds check (i.e. comparing a
+//  symbolic Offset value to zero and a symbolic Extent value) and composing
+//  descriptions that explain its results.
+//
+//  This is intended as a replacement for `ProgramState::assumeInBound` to
+//  avoid its incorrect logic and compensate for deficiencies of other parts of
+//  the analyzer.
+//
+//===----------------------------------------------------------------------===//
+
+#include "clang/StaticAnalyzer/Checkers/BoundsChecking.h"
+#include "clang/StaticAnalyzer/Checkers/Taint.h"
+
+using llvm::formatv;
+
+namespace clang {
+namespace ento {
----------------
NagyDonat wrote:

Good ideas, I implemented them in https://github.com/llvm/llvm-project/pull/202372/commits/d165fb2f92f8217a2012234d30eb76ba51af2248

https://github.com/llvm/llvm-project/pull/202372


More information about the cfe-commits mailing list