[clang] Expose CrossTU context in CheckerContext.h (PR #181713)
Davide Cunial via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 16 10:06:38 PST 2026
https://github.com/capitan-davide created https://github.com/llvm/llvm-project/pull/181713
Sometimes I find it useful to write an AST visitor that can cross TU boundaries. This patch allows to do this in a CSA checker.
>From 7c2926bae0f39b8f845420716860b8a1ff1e2b9f Mon Sep 17 00:00:00 2001
From: Davide Cunial <dcunial at proton.me>
Date: Mon, 16 Feb 2026 19:04:16 +0100
Subject: [PATCH] Expose CrossTU context in CheckerContext.h
---
.../StaticAnalyzer/Core/PathSensitive/CheckerContext.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
index cf035a999af8a..dab36cae32109 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
@@ -14,6 +14,7 @@
#ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_CHECKERCONTEXT_H
#define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_CHECKERCONTEXT_H
+#include "clang/CrossTU/CrossTranslationUnit.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h"
#include <optional>
@@ -69,6 +70,14 @@ class CheckerContext {
return Eng.getConstraintManager();
}
+ cross_tu::CrossTranslationUnitContext *getCrossTranslationUnitContext() {
+ return Eng.getCrossTranslationUnitContext();
+ }
+ const cross_tu::CrossTranslationUnitContext *
+ getCrossTranslationUnitContext() const {
+ return Eng.getCrossTranslationUnitContext();
+ }
+
StoreManager &getStoreManager() {
return Eng.getStoreManager();
}
More information about the cfe-commits
mailing list