[clang] [clang][analyzer] Add StoreToImmutable checker (PR #150417)

Endre Fülöp via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 30 06:07:41 PDT 2025


================
@@ -0,0 +1,32 @@
+// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.core.StoreToImmutable %s
+
+// Global const variable
+const int global_const = 42;
+
+void test_global_const() {
+  *(int *)&global_const = 100; // warn: Writing to immutable memory
+}
+
+// String literal
+// NOTE: This only works in C++, not in C, as the analyzer treats string
+// literals as non-const char arrays in C mode.
+void test_string_literal() {
+  char *str = (char *)"hello";
+  str[0] = 'H'; // warn: Writing to immutable memory
+}
+
+// Const parameter
----------------
gamesh411 wrote:

Unnecessary to mention const parameter here.

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


More information about the cfe-commits mailing list