[clang] Thread Safety Analysis: Support warning on obtaining address of guarded variables (PR #123063)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 15 06:59:36 PST 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff 87750c9de4b7bd71539bfadd61c10317235da138 60e3b1d7c2dd7f9c070b25c25ff546adb1a68143 --extensions h,c,cpp -- clang/include/clang/Analysis/Analyses/ThreadSafety.h clang/lib/Analysis/ThreadSafety.cpp clang/lib/Sema/AnalysisBasedWarnings.cpp clang/test/Sema/warn-thread-safety-analysis.c clang/test/SemaCXX/warn-thread-safety-analysis.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/clang/lib/Sema/AnalysisBasedWarnings.cpp b/clang/lib/Sema/AnalysisBasedWarnings.cpp
index bb009de228..ace36cbecb 100644
--- a/clang/lib/Sema/AnalysisBasedWarnings.cpp
+++ b/clang/lib/Sema/AnalysisBasedWarnings.cpp
@@ -1985,18 +1985,18 @@ class ThreadSafetyReporter : public clang::threadSafety::ThreadSafetyHandler {
                          AccessKind AK, SourceLocation Loc) override {
     unsigned DiagID = 0;
     switch (POK) {
-      case POK_VarAccess:
-        DiagID = diag::warn_variable_requires_any_lock;
-        break;
-      case POK_VarDereference:
-        DiagID = diag::warn_var_deref_requires_any_lock;
-        break;
-      case POK_AddressOf:
-        DiagID = diag::warn_addressof_requires_any_lock;
-        break;
-      default:
-        assert(false && "Only works for variables");
-        break;
+    case POK_VarAccess:
+      DiagID = diag::warn_variable_requires_any_lock;
+      break;
+    case POK_VarDereference:
+      DiagID = diag::warn_var_deref_requires_any_lock;
+      break;
+    case POK_AddressOf:
+      DiagID = diag::warn_addressof_requires_any_lock;
+      break;
+    default:
+      assert(false && "Only works for variables");
+      break;
     }
     PartialDiagnosticAt Warning(Loc, S.PDiag(DiagID)
       << D << getLockKindFromAccessKind(AK));

``````````

</details>


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


More information about the cfe-commits mailing list