[clang-tools-extra] [clang-tidy] `isOnlyUsedAsConst`: Handle static method calls. (PR #84005)

2024-03-06 Thread Clement Courbet via cfe-commits
legrosbuffle wrote: > LGTM, verify if some release notes shouldn't be updated. This is very minor, I've only seen a few instances in the Google codebase, but it was trivial enough to include. https://github.com/llvm/llvm-project/pull/84005 ___

[clang-tools-extra] [llvm] [clang-tidy] Add support for determining constness of more expressions. (PR #82617)

2024-02-26 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/82617 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [clang-tidy] Add support for determining constness of more expressions. (PR #82617)

2024-02-26 Thread Clement Courbet via cfe-commits
legrosbuffle wrote: Thanks all. Comments addressed. > Overall looking fine, but this check need to be run on bigger code-base to > verify if there are no false positives or crashes. Sorry, this was not very clear. By "our codebase" I meant the whole of Google code :) This also ran on

[clang-tools-extra] [llvm] [clang-tidy] Add support for determining constness of more expressions. (PR #82617)

2024-02-26 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/82617 >From 9b93c8bf0614e64352de8e210adf6ff316c0133e Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Mon, 19 Feb 2024 14:58:27 + Subject: [PATCH 1/5] [llvm-exegesis][NFC] Refactor all `ValidationEvent`

[clang-tools-extra] [clang-tidy] Add support for determining constness of more expressions. (PR #82617)

2024-02-26 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/82617 >From b2b98e9594b224f471f88924b8b060bee06de483 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Wed, 21 Feb 2024 09:15:22 + Subject: [PATCH 1/3] [clang-tidy] Add support for determining constness of

[clang-tools-extra] [clang-tidy] Add support for determining constness of more expressions. (PR #82617)

2024-02-26 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/82617 >From b2b98e9594b224f471f88924b8b060bee06de483 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Wed, 21 Feb 2024 09:15:22 + Subject: [PATCH 1/2] [clang-tidy] Add support for determining constness of

[clang-tools-extra] [clang-tidy] Add support for determining constness of more expressions. (PR #82617)

2024-02-26 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/82617 >From b2b98e9594b224f471f88924b8b060bee06de483 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Wed, 21 Feb 2024 09:15:22 + Subject: [PATCH] [clang-tidy] Add support for determining constness of

[clang-tools-extra] [clang-tidy] Add support for determining constness of more expressions. (PR #82617)

2024-02-22 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/82617 This uses a more systematic approach for determining whcich `DeclRefExpr`s mutate the underlying object: Instead of using a few matchers, we walk up the AST until we find a parent that we can prove cannot

[clang-tools-extra] [clang] [llvm] [llvm-exegesis] Replace --num-repetitions with --min-instructions (PR #77153)

2024-02-01 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle approved this pull request. https://github.com/llvm/llvm-project/pull/77153 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang] [llvm] [llvm-exegesis] Replace --num-repetitions with --min-instructions (PR #77153)

2024-02-01 Thread Clement Courbet via cfe-commits
legrosbuffle wrote: > I'm assuming at some point we'll want to deprecate this old option? It's a single line of code so it probably can stay there for backwards compatibility :) https://github.com/llvm/llvm-project/pull/77153 ___ cfe-commits mailing

[clang] [llvm] [clang-tools-extra] [libc] [llvm-exegesis] Add middle half repetition mode (PR #77020)

2024-01-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle approved this pull request. https://github.com/llvm/llvm-project/pull/77020 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[compiler-rt] [libc] [llvm] [clang-tools-extra] [clang] [libc] `FPRep` builders return `FPRep` instead of raw `StorageType` (PR #78588)

2024-01-22 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle approved this pull request. https://github.com/llvm/llvm-project/pull/78588 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[compiler-rt] [libc] [llvm] [clang-tools-extra] [clang] [libc] `FPRep` builders return `FPRep` instead of raw `StorageType` (PR #78588)

2024-01-22 Thread Clement Courbet via cfe-commits
@@ -535,92 +472,178 @@ struct FPRep : public FPRepBase { // - Quiet Not a Number // - Unnormal // This can be reduced to the following logic: -if (exp_bits() == encode(BiasedExponent::BITS_ALL_ONES())) +if (exp_bits() == encode(BiasedExp::BITS_ALL_ONES()))

[clang-tools-extra] [clang] [clang-tidy] Handle C++ structured bindings in `performance-for-range-copy` (PR #77105)

2024-01-16 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/77105 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[lld] [clang] [clang-tools-extra] [llvm] [llvm-exegesis] Add support for validation counters (PR #76653)

2024-01-11 Thread Clement Courbet via cfe-commits
@@ -112,9 +116,11 @@ class Counter { PerfEvent Event; int FileDescriptor = -1; bool IsDummyEvent; + std::vector ValidationEvents; legrosbuffle wrote: OK, let's rename `Counter` to `CounterGroup`, but let's at least create a (private) abstraction for

[clang] [clang-tools-extra] [clang-tidy] Handle C++ structured bindings in `performance-for-range-copy` (PR #77105)

2024-01-08 Thread Clement Courbet via cfe-commits
@@ -234,6 +239,22 @@ void positiveOnlyAccessedFieldAsConst() { } } +void positiveOnlyAccessedFieldAsConstBinding() { legrosbuffle wrote: Done. https://github.com/llvm/llvm-project/pull/77105 ___ cfe-commits

[clang] [clang-tools-extra] [clang-tidy] Handle C++ structured bindings in `performance-for-range-copy` (PR #77105)

2024-01-08 Thread Clement Courbet via cfe-commits
@@ -234,6 +239,22 @@ void positiveOnlyAccessedFieldAsConst() { } } +void positiveOnlyAccessedFieldAsConstBinding() { + for (auto [X, Y] : View>()) { +// CHECK-MESSAGES: [[@LINE-1]]:13: warning: loop variable is copied but +// CHECK-FIXES: for (const auto& [X, Y] :

[clang-tools-extra] [clang] [clang-tidy] Handle C++ structured bindings in `performance-for-range-copy` (PR #77105)

2024-01-08 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/77105 >From 7420ce9460fa0e07bc570087c39b8ee98775713a Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Fri, 5 Jan 2024 15:48:51 +0100 Subject: [PATCH] [clang-tidy] Handle C++ bindings in

[clang] [clang-tools-extra] [clang-tidy] Handle C++ structured bindings in `performance-for-range-copy` (PR #77105)

2024-01-05 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/77105 Right now we are not triggering on: ``` for (auto [x, y] : container) { // const-only access } ``` >From d5b83c7e8624ba6fde2ea9eb8c3589fe083067b8 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date:

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/73921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
legrosbuffle wrote: Thanks https://github.com/llvm/llvm-project/pull/73921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
@@ -263,19 +264,26 @@ void UnnecessaryCopyInitialization::registerMatchers(MatchFinder *Finder) { void UnnecessaryCopyInitialization::check( const MatchFinder::MatchResult ) { - const auto *NewVar = Result.Nodes.getNodeAs("newVarDecl"); + const auto =

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
@@ -289,74 +297,72 @@ void UnnecessaryCopyInitialization::check( // instantiations where the types differ and rely on implicit conversion would // no longer compile if we switched to a reference. if (differentReplacedTemplateParams( - NewVar->getType(),

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From 851460af6526f175bc34b105a0f5f130a2f1c6b1 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH 1/5] [clang-tidy] performance-unnecessary-copy-init

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
@@ -261,21 +262,27 @@ void UnnecessaryCopyInitialization::registerMatchers(MatchFinder *Finder) { this); } +UnnecessaryCopyInitialization::CheckContext::CheckContext( legrosbuffle wrote: I think it's a simple matter of preference, I

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From 851460af6526f175bc34b105a0f5f130a2f1c6b1 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH 1/4] [clang-tidy] performance-unnecessary-copy-init

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From 851460af6526f175bc34b105a0f5f130a2f1c6b1 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH 1/3] [clang-tidy] performance-unnecessary-copy-init

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle edited https://github.com/llvm/llvm-project/pull/73921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
@@ -32,14 +32,34 @@ class UnnecessaryCopyInitialization : public ClangTidyCheck { void check(const ast_matchers::MatchFinder::MatchResult ) override; void storeOptions(ClangTidyOptions::OptionMap ) override; +protected: + // A helper to manipulate the state common to +

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
@@ -290,69 +296,72 @@ void UnnecessaryCopyInitialization::check( // instantiations where the types differ and rely on implicit conversion would // no longer compile if we switched to a reference. if (differentReplacedTemplateParams( - NewVar->getType(),

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-06 Thread Clement Courbet via cfe-commits
@@ -261,21 +262,27 @@ void UnnecessaryCopyInitialization::registerMatchers(MatchFinder *Finder) { this); } +UnnecessaryCopyInitialization::CheckContext::CheckContext( legrosbuffle wrote: Given that we are deriving `IssueFix`,

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-01 Thread Clement Courbet via cfe-commits
@@ -302,6 +303,20 @@ void UnnecessaryCopyInitialization::check( } } +void UnnecessaryCopyInitialization::makeDiagnostic( +DiagnosticBuilder Diagnostic, const VarDecl , const Stmt , legrosbuffle wrote: Done. I've kept the code common to these two

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-01 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From 851460af6526f175bc34b105a0f5f130a2f1c6b1 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH 1/2] [clang-tidy] performance-unnecessary-copy-init

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-12-01 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From 851460af6526f175bc34b105a0f5f130a2f1c6b1 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH 1/2] [clang-tidy] performance-unnecessary-copy-init

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From 851460af6526f175bc34b105a0f5f130a2f1c6b1 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH] [clang-tidy] performance-unnecessary-copy-init Refactor

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
@@ -302,6 +303,20 @@ void UnnecessaryCopyInitialization::check( } } +void UnnecessaryCopyInitialization::makeDiagnostic( +DiagnosticBuilder Diagnostic, const VarDecl , const Stmt , +const DeclStmt , ASTContext , bool IssueFix) { + const bool IsVarUnused =

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
@@ -302,6 +303,20 @@ void UnnecessaryCopyInitialization::check( } } +void UnnecessaryCopyInitialization::makeDiagnostic( +DiagnosticBuilder Diagnostic, const VarDecl , const Stmt , +const DeclStmt , ASTContext , bool IssueFix) { + const bool IsVarUnused =

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
@@ -302,6 +303,20 @@ void UnnecessaryCopyInitialization::check( } } +void UnnecessaryCopyInitialization::makeDiagnostic( +DiagnosticBuilder Diagnostic, const VarDecl , const Stmt , legrosbuffle wrote: I can't really do that because each of the two uses

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
legrosbuffle wrote: This is ready for another look. I took this as an opportunity to refactor the duplicated parts of the code. Let me know what you think. https://github.com/llvm/llvm-project/pull/73921 ___ cfe-commits mailing list

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From 0bf4d8335063c1403dc91d8fccca42e3f03bad35 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH] [clang-tidy] performance-unnecessary-copy-init Refactor

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From a072ae129b1ad928c96368a3208d35cc0705e260 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH] [clang-tidy] performance-unnecessary-copy-init Refactor

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From d729f95270aff076ff11ccb1ef12cfb6dc99a82d Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH] [clang-tidy] performance-unnecessary-copy-init: Add a

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
legrosbuffle wrote: > In theory changes that are required for "private" checks should be done by > you on some own private fork instead of adding that "unused" code here. But > only option I see is simply moving diagnostic to separate methods, and make > those methods virtual. I see, we

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From a6bc3d7ef798f95fe6ae758e7a9502851e6d4b12 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH] [clang-tidy] performance-unnecessary-copy-init: Add a

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From 6050ba4784137bc20e58d553ea970e37237142ae Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH] [clang-tidy] performance-unnecessary-copy-init: Add a

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle edited https://github.com/llvm/llvm-project/pull/73921 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
legrosbuffle wrote: > First what's a purpose of this change. Is there any other check that will > need it or not ? We have a downstream check that wants to do additional processing after this one. We can't submit that check because it depends on a large piece of downstream infrastructure. >

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/73921 >From e0d1f9741d0dba3286fd8043cf6d5c89ecc2d378 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Thu, 30 Nov 2023 11:08:51 +0100 Subject: [PATCH] [clang-tidy] performance-unnecessary-copy-init: Add a

[clang-tools-extra] [clang-tidy] performance-unnecessary-copy-init: Add a hook... (PR #73921)

2023-11-30 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/73921 ... so that derived checks can implement custom behaviour. Does nothing by default, which makes this an NFC. >From e251c440b42fe67dee4022d08d05e96d30d6aa02 Mon Sep 17 00:00:00 2001 From: Clement Courbet

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-19 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/68572 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-19 Thread Clement Courbet via cfe-commits
@@ -1061,11 +1061,13 @@ def Most : DiagGroup<"most", [ ]>; // Thread Safety warnings -def ThreadSafetyAttributes : DiagGroup<"thread-safety-attributes">; -def ThreadSafetyAnalysis : DiagGroup<"thread-safety-analysis">; -def ThreadSafetyPrecise:

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-19 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/68572 >From f3b0c9708bbf6fb0962fb82b605a7fc0b52d4a5b Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Mon, 9 Oct 2023 10:20:12 +0200 Subject: [PATCH]

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-19 Thread Clement Courbet via cfe-commits
@@ -2278,7 +2303,7 @@ void ThreadSafetyAnalyzer::runAnalysis(AnalysisDeclContext ) { PostOrderCFGView::CFGBlockSet VisitedBlocks(CFGraph); CFGBlockInfo = BlockInfo[CFGraph->getEntry().getBlockID()]; - CFGBlockInfo= BlockInfo[CFGraph->getExit().getBlockID()]; +

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-17 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle edited https://github.com/llvm/llvm-project/pull/68572 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-17 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/68572 >From db868042066e8b985d20c1b728729ba7102aaefa Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Mon, 9 Oct 2023 10:20:12 +0200 Subject: [PATCH]

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-17 Thread Clement Courbet via cfe-commits
@@ -1061,18 +1061,20 @@ def Most : DiagGroup<"most", [ ]>; // Thread Safety warnings -def ThreadSafetyAttributes : DiagGroup<"thread-safety-attributes">; -def ThreadSafetyAnalysis : DiagGroup<"thread-safety-analysis">; -def ThreadSafetyPrecise:

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-17 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/68572 >From 2d90dc0547f90c3a217428b2d3b8d2253ae80973 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Mon, 9 Oct 2023 10:20:12 +0200 Subject: [PATCH]

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-17 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/68572 >From 11f5286f426d082f7fbcb578c0c6cabcd3660453 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Mon, 9 Oct 2023 10:20:12 +0200 Subject: [PATCH]

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-09 Thread Clement Courbet via cfe-commits
legrosbuffle wrote: @aeubanks FYI https://github.com/llvm/llvm-project/pull/68572 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68572)

2023-10-09 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/68572 …… (#68394)" The new warnings are now under a separate flag `-Wthread-safety-reference-return`. The plan is: - Start with a period where people can opt into the new warnings with

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68394)

2023-10-06 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/68394 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Reapply "[clang analysis][thread-safety] Handle return-by-reference..… (PR #68394)

2023-10-06 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/68394 …. (#67776)" Now that `scudo` issues have been fixed (#68273). This reverts commit 462bdd5bf0861a27f451f7917802a954e2046bc7. >From 6bf1af81adef93f20f25db4023810fe7be750410 Mon Sep 17 00:00:00 2001 From:

[clang] Revert "[clang analysis][thread-safety] Handle return-by-reference...… (PR #67795)

2023-09-29 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/67795 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Revert "[clang analysis][thread-safety] Handle return-by-reference...… (PR #67795)

2023-09-29 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/67795 … (#67776)" This detects issues in `scudo`. Reverting until these are fixed. ``` /b/sanitizer-x86_64-linux-autoconf/build/llvm-project/compiler-rt/lib/scudo/standalone/tsd.h:74:12: error: returning

[clang] [clang analysis][thread-safety] Handle return-by-reference... (PR #67776)

2023-09-29 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/67776 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang analysis][thread-safety] Handle return-by-reference... (PR #67776)

2023-09-29 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/67776 >From 7212f4cff29784f9b874a2c52586792f02158200 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Fri, 29 Sep 2023 10:39:58 +0200 Subject: [PATCH] [clang analysis][thread-safety] Handle

[clang] [clang analysis][thread-safety] Handle return-by-reference... (PR #67776)

2023-09-29 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/67776 ...of guarded variables, when the function is not marked as requiring locks: ``` class Return { Mutex mu; Foo foo GUARDED_BY(mu); Foo _ref_locked() { MutexLock lock(); return foo; // BAD }

[clang] Reland "[clang analysis][NFCI] Preparatory work for D153131. (#67420)… (PR #67775)

2023-09-29 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/67775 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Reland "[clang analysis][NFCI] Preparatory work for D153131. (#67420)… (PR #67775)

2023-09-29 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/67775 …" (#67523) Discussion in https://reviews.llvm.org/D153132. This reverts commit f70377471c990aa567584ae429e77adc9a55491b. >From efc22cc97bbc0238f9ab066132ba434d41677599 Mon Sep 17 00:00:00 2001 From:

[clang] Revert "[clang analysis][NFCI] Preparatory work for D153131. (#67420)" (PR #67523)

2023-09-27 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/67523 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Revert "[clang analysis][NFCI] Preparatory work for D153131. (#67420)" (PR #67523)

2023-09-27 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/67523 There was a misunderstanding as to whether we wanted those base NFC changes or not. This reverts commit 166074eff2e9a5f79b791f1cc9b641a4e2968616. >From c4904f5c3304d0117a21ec6650a260639901dcf9 Mon Sep 17

[clang] [clang analysis][thread-safety] Handle return-by-reference... (PR #67428)

2023-09-26 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/67428 ...of guarded variables, when the function is not marked as requiring locks: ``` class Return { Mutex mu; Foo foo GUARDED_BY(mu); Foo _ref_locked() { MutexLock lock(); return foo; // BAD }

[clang] [clang analysis][NFCI] Preparatory work for D153131. (PR #67420)

2023-09-26 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/67420 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang analysis][NFCI] Preparatory work for D153131. (PR #67420)

2023-09-26 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/67420 This was ported over from phabricator. Review https://reviews.llvm.org/D153131. >From 3581fc00f690194ac4bac631311ecdb18593b7ba Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Tue, 26 Sep 2023

[clang] [NFC] Preparatory work for D153131 (PR #66750)

2023-09-19 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/66750 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [NFC] Preparatory work for D153131 (PR #66750)

2023-09-19 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/66750 None >From 3679b5c95a8de88a5cabc9ecdacdbbfef9c68ea8 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Tue, 19 Sep 2023 10:19:49 +0200 Subject: [PATCH] [NFC] Preparatory work for D153131 ---

[clang] [clang-transformer] Allow stencils to read from system headers. (PR #66480)

2023-09-18 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle closed https://github.com/llvm/llvm-project/pull/66480 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-transformer] Allow stencils to read from system headers. (PR #66480)

2023-09-15 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/66480 >From b23472e55093ea1d48d11386cc4ced43f913c170 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Fri, 15 Sep 2023 10:42:16 +0200 Subject: [PATCH] [clang-transformer] Allow stencils to read from system

[clang] [clang-transformer] Allow stencils to read from system headers. (PR #66480)

2023-09-15 Thread Clement Courbet via cfe-commits
@@ -91,6 +91,10 @@ StringRef getExtendedText(const T , tok::TokenKind Next, llvm::Error validateEditRange(const CharSourceRange , const SourceManager ); +/// Determines whether \p Range is one that can be read from. +llvm::Error

[clang] [clang-transformer] Allow stencils to read from system headers. (PR #66480)

2023-09-15 Thread Clement Courbet via cfe-commits
@@ -230,7 +230,7 @@ class SelectorStencil : public StencilInterface { // message. If it's valid, then something else is the cause and we just // return the generic failure message. if (auto Err = - tooling::validateEditRange(*RawRange,

[clang] [clang-transformer] Allow stencils to read from system headers. (PR #66480)

2023-09-15 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle updated https://github.com/llvm/llvm-project/pull/66480 >From 312eeef4c301e1049f50436fa3aa8d070b5cb4e9 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Fri, 15 Sep 2023 10:42:16 +0200 Subject: [PATCH] [clang-transformer] Allow stencils to read from system

[clang] [clang-transformer] Allow stencils to read from system headers. (PR #66480)

2023-09-15 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle created https://github.com/llvm/llvm-project/pull/66480 We were previously checking that stencil input ranges were writable. It suffices for them to be readable. >From d9f8e39bb042165b53ae3c070f96a5bfe994f9fd Mon Sep 17 00:00:00 2001 From: Clement Courbet

[clang] [libc] Add invoke / invoke_result type traits (PR #65750)

2023-09-15 Thread Clement Courbet via cfe-commits
https://github.com/legrosbuffle approved this pull request. https://github.com/llvm/llvm-project/pull/65750 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [libc] Add invoke / invoke_result type traits (PR #65750)

2023-09-14 Thread Clement Courbet via cfe-commits
@@ -145,6 +145,110 @@ TEST(LlvmLibcTypeTraitsTest, integral_constant) { EXPECT_EQ((integral_constant::value), 4); } +namespace invoke_detail { + +enum State { INIT = 0, A_APPLY_CALLED, B_APPLY_CALLED }; + +struct A { + State state = INIT; + virtual ~A() {} + virtual void

[clang] [libc] Add invoke / invoke_result type traits (PR #65750)

2023-09-14 Thread Clement Courbet via cfe-commits
@@ -145,6 +145,110 @@ TEST(LlvmLibcTypeTraitsTest, integral_constant) { EXPECT_EQ((integral_constant::value), 4); } +namespace invoke_detail { + +enum State { INIT = 0, A_APPLY_CALLED, B_APPLY_CALLED }; + +struct A { + State state = INIT; + virtual ~A() {} + virtual void

[clang] [libc] Add invoke / invoke_result type traits (PR #65750)

2023-09-14 Thread Clement Courbet via cfe-commits
@@ -145,6 +145,110 @@ TEST(LlvmLibcTypeTraitsTest, integral_constant) { EXPECT_EQ((integral_constant::value), 4); } +namespace invoke_detail { + +enum State { INIT = 0, A_APPLY_CALLED, B_APPLY_CALLED }; + +struct A { + State state = INIT; + virtual ~A() {} + virtual void

[clang-tools-extra] [libc] Add invoke / invoke_result type traits (PR #65750)

2023-09-14 Thread Clement Courbet via cfe-commits
@@ -145,6 +145,110 @@ TEST(LlvmLibcTypeTraitsTest, integral_constant) { EXPECT_EQ((integral_constant::value), 4); } +namespace invoke_detail { + +enum State { INIT = 0, A_APPLY_CALLED, B_APPLY_CALLED }; + +struct A { + State state = INIT; + virtual ~A() {} + virtual void

[clang] [libc] Add invoke / invoke_result type traits (PR #65750)

2023-09-14 Thread Clement Courbet via cfe-commits
@@ -145,6 +145,110 @@ TEST(LlvmLibcTypeTraitsTest, integral_constant) { EXPECT_EQ((integral_constant::value), 4); } +namespace invoke_detail { + +enum State { INIT = 0, A_APPLY_CALLED, B_APPLY_CALLED }; + +struct A { + State state = INIT; + virtual ~A() {} + virtual void

[clang-tools-extra] [libc] Add invoke / invoke_result type traits (PR #65750)

2023-09-14 Thread Clement Courbet via cfe-commits
@@ -145,6 +145,110 @@ TEST(LlvmLibcTypeTraitsTest, integral_constant) { EXPECT_EQ((integral_constant::value), 4); } +namespace invoke_detail { + +enum State { INIT = 0, A_APPLY_CALLED, B_APPLY_CALLED }; + +struct A { + State state = INIT; + virtual ~A() {} + virtual void

[clang-tools-extra] 32ffc55 - [clang-tidy] Really fix rG9182c679dde7

2023-05-24 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2023-05-24T15:21:50+02:00 New Revision: 32ffc1feda4cf3eeec5740af5c5f386e584c URL: https://github.com/llvm/llvm-project/commit/32ffc1feda4cf3eeec5740af5c5f386e584c DIFF:

[clang-tools-extra] 62dc3ba - [clang-tidy]Fix rG9182c679dde7cb6480e66b9231a53d43ad03908b

2023-05-24 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2023-05-24T15:19:00+02:00 New Revision: 62dc3ba8442fa3f7003d46d2838307452a0391f4 URL: https://github.com/llvm/llvm-project/commit/62dc3ba8442fa3f7003d46d2838307452a0391f4 DIFF:

[clang-tools-extra] 9182c67 - [clang-tidy]performance-no-automatic-move: fix false negative on `const T&&` ctors.

2023-05-24 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2023-05-24T15:05:39+02:00 New Revision: 9182c679dde7cb6480e66b9231a53d43ad03908b URL: https://github.com/llvm/llvm-project/commit/9182c679dde7cb6480e66b9231a53d43ad03908b DIFF:

[clang-tools-extra] d880d4e - [doc][clang-tidy] Sort release notes by check name.

2023-04-07 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2023-04-07T16:11:37+02:00 New Revision: d880d4e7c228e27bd8040e7e2616cfd8c02678bf URL: https://github.com/llvm/llvm-project/commit/d880d4e7c228e27bd8040e7e2616cfd8c02678bf DIFF:

[clang-tools-extra] 1012677 - [clang-tidy]bugprone-fold-init-type

2023-04-07 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2023-04-07T14:17:03+02:00 New Revision: 1012677284b87091f76542c3c79da641101578ae URL: https://github.com/llvm/llvm-project/commit/1012677284b87091f76542c3c79da641101578ae DIFF:

[clang] dbfa97b - [doc] Fix invalid reference to `hasReturnArgument` matcher.

2022-10-18 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2022-10-18T08:47:21+02:00 New Revision: dbfa97bd1108fe2a8e4fb13a16508f3dd0676a9b URL: https://github.com/llvm/llvm-project/commit/dbfa97bd1108fe2a8e4fb13a16508f3dd0676a9b DIFF:

[clang] 672311b - [CFG] Fix crash on CFG building when deriving from a template.

2022-08-16 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2022-08-16T13:01:13+02:00 New Revision: 672311bd77c594888e2660c124d7eae01822fffa URL: https://github.com/llvm/llvm-project/commit/672311bd77c594888e2660c124d7eae01822fffa DIFF:

[clang] 156c075 - [clang][transformer] Finish plumbing `Note` all the way to the output.

2022-08-11 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2022-08-11T07:54:44+02:00 New Revision: 156c0754bc2ee0b7d198cfeff230374a1961ac04 URL: https://github.com/llvm/llvm-project/commit/156c0754bc2ee0b7d198cfeff230374a1961ac04 DIFF:

[clang-tools-extra] 5331e12 - [clang][transformer] Fix crash on replacement-less ASTEdit.

2022-08-10 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2022-08-10T09:08:05+02:00 New Revision: 5331e1229aa6d0d33b5ec9fab7c05310187746d9 URL: https://github.com/llvm/llvm-project/commit/5331e1229aa6d0d33b5ec9fab7c05310187746d9 DIFF:

[clang] 90d2291 - [NFC] Fix comment.

2022-02-08 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2022-02-08T09:42:44+01:00 New Revision: 90d2291fbb4a382d8a36dfbb2bcfcc55f21b2bdc URL: https://github.com/llvm/llvm-project/commit/90d2291fbb4a382d8a36dfbb2bcfcc55f21b2bdc DIFF:

[clang-tools-extra] ed8ff29 - [clang-tidy] Fix false positive in modernize-pass-by-value

2022-01-05 Thread Clement Courbet via cfe-commits
Author: Clement Courbet Date: 2022-01-05T14:33:40+01:00 New Revision: ed8ff29aa6835187f3d5e7b64de022fe6b33a131 URL: https://github.com/llvm/llvm-project/commit/ed8ff29aa6835187f3d5e7b64de022fe6b33a131 DIFF:

  1   2   3   >