diff options
author | Clement Courbet <courbet@google.com> | 2023-10-19 08:34:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-19 08:34:59 +0200 |
commit | 39427b10985f034b85a12e8b229a4f816d844afb (patch) | |
tree | b362aa7134c7156265414b8785c2a30c6e40a0e4 /clang/lib/Sema/AnalysisBasedWarnings.cpp | |
parent | cd205efb9d788f55b8051f6ed5cf01dc1bba982e (diff) | |
download | llvm-39427b10985f034b85a12e8b229a4f816d844afb.zip llvm-39427b10985f034b85a12e8b229a4f816d844afb.tar.gz llvm-39427b10985f034b85a12e8b229a4f816d844afb.tar.bz2 |
Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (#68572)
…… (#68394)"
The new warnings are now under a separate flag
`-Wthread-safety-reference-return`, which is on by default under
`-Wthread-safety-reference`.
- People can opt out via `-Wthread-safety-reference
-Wnothread-safety-reference-return`.
This reverts commit 859f2d032386632562521a99db20923217d98988.
Diffstat (limited to 'clang/lib/Sema/AnalysisBasedWarnings.cpp')
-rw-r--r-- | clang/lib/Sema/AnalysisBasedWarnings.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Sema/AnalysisBasedWarnings.cpp b/clang/lib/Sema/AnalysisBasedWarnings.cpp index 77bb560..0947e8b 100644 --- a/clang/lib/Sema/AnalysisBasedWarnings.cpp +++ b/clang/lib/Sema/AnalysisBasedWarnings.cpp @@ -1983,6 +1983,12 @@ class ThreadSafetyReporter : public clang::threadSafety::ThreadSafetyHandler { case POK_PtPassByRef: DiagID = diag::warn_pt_guarded_pass_by_reference; break; + case POK_ReturnByRef: + DiagID = diag::warn_guarded_return_by_reference; + break; + case POK_PtReturnByRef: + DiagID = diag::warn_pt_guarded_return_by_reference; + break; } PartialDiagnosticAt Warning(Loc, S.PDiag(DiagID) << Kind << D @@ -2013,6 +2019,12 @@ class ThreadSafetyReporter : public clang::threadSafety::ThreadSafetyHandler { case POK_PtPassByRef: DiagID = diag::warn_pt_guarded_pass_by_reference; break; + case POK_ReturnByRef: + DiagID = diag::warn_guarded_return_by_reference; + break; + case POK_PtReturnByRef: + DiagID = diag::warn_pt_guarded_return_by_reference; + break; } PartialDiagnosticAt Warning(Loc, S.PDiag(DiagID) << Kind << D |