Page MenuHomePhabricator

baloghadamsoftware (Balogh, Ádám)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 9 2016, 4:07 AM (368 w, 3 d)

Recent Activity

May 4 2021

baloghadamsoftware added a comment to D101790: [clang-tidy] Aliasing: Add support for passing the variable into a function by reference..

+Adam, the original author of bugprone-redundant-branch-condition. Adam, do you have any thoughts regarding the tests regressed by this patch? Are they something we should absolutely keep warning on?

May 4 2021, 6:19 AM · Restricted Project

Nov 19 2020

baloghadamsoftware added inline comments to D89380: [clang-tidy] Fix for cppcoreguidelines-prefer-member-initializer to handle classes declared in macros.
Nov 19 2020, 7:40 AM · Restricted Project, Restricted Project

Nov 6 2020

baloghadamsoftware added inline comments to D90691: [analyzer] Add new checker for unchecked return value..
Nov 6 2020, 3:13 AM · Restricted Project

Oct 29 2020

baloghadamsoftware committed rG184eb4fa4f1c: [ADT] Fix for ImmutableMapRef (authored by baloghadamsoftware).
[ADT] Fix for ImmutableMapRef
Oct 29 2020, 5:18 AM

Oct 21 2020

baloghadamsoftware committed rGa6336eab0c50: [ADT] Fix for ImmutableMapRef (authored by baloghadamsoftware).
[ADT] Fix for ImmutableMapRef
Oct 21 2020, 3:11 AM
baloghadamsoftware closed D89486: [ADT] Fix for ImmutableMapRef.
Oct 21 2020, 3:11 AM · Restricted Project
baloghadamsoftware added a reviewer for D89486: [ADT] Fix for ImmutableMapRef: bkramer.
Oct 21 2020, 1:34 AM · Restricted Project

Oct 20 2020

baloghadamsoftware added a comment to D89380: [clang-tidy] Fix for cppcoreguidelines-prefer-member-initializer to handle classes declared in macros.

Thanks for the fix! However, I'm not sure it's possible to correctly rewrite code in all cases where macros are involved. See a couple of motivating examples in the comment.

Oct 20 2020, 9:03 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D89380: [clang-tidy] Fix for cppcoreguidelines-prefer-member-initializer to handle classes declared in macros.

Tests added, code reformatted.

Oct 20 2020, 8:59 AM · Restricted Project, Restricted Project

Oct 15 2020

baloghadamsoftware requested review of D89486: [ADT] Fix for ImmutableMapRef.
Oct 15 2020, 10:11 AM · Restricted Project

Oct 14 2020

baloghadamsoftware requested review of D89380: [clang-tidy] Fix for cppcoreguidelines-prefer-member-initializer to handle classes declared in macros.
Oct 14 2020, 3:24 AM · Restricted Project, Restricted Project

Oct 6 2020

baloghadamsoftware committed rGd6c9dc3c17e4: [clang-tidy] Remove obsolete checker google-runtime-references (authored by baloghadamsoftware).
[clang-tidy] Remove obsolete checker google-runtime-references
Oct 6 2020, 5:02 AM
baloghadamsoftware closed D88831: [clang-tidy] Remove obsolete checker google-runtime-references.
Oct 6 2020, 5:01 AM · Restricted Project, Restricted Project

Oct 5 2020

baloghadamsoftware added a comment to D88831: [clang-tidy] Remove obsolete checker google-runtime-references.

Does this check make sense in content of other style guides?

I'd +1 to moving it to readability.

Oct 5 2020, 7:23 AM · Restricted Project, Restricted Project
baloghadamsoftware requested review of D88831: [clang-tidy] Remove obsolete checker google-runtime-references.
Oct 5 2020, 6:26 AM · Restricted Project, Restricted Project

Sep 30 2020

baloghadamsoftware requested changes to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.
In D86743#2303922, @NoQ wrote:

One slightly redeeming thing about this crash is that it's assertion-only. When built without assertions clang doesn't crash and this patch doesn't really change its behavior (adding transition to a null state is equivalent to adding no transitions at all). This means that the assertion did its job and notified us of the serious issue but simply removing the assertion doesn't bring *that* much benefit and we can probably afford to wait for a more solid fix.

Sep 30 2020, 9:51 AM · Restricted Project
baloghadamsoftware added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

@vabridgers Please try to apply D69726 and check whether it solves this crash!

Sep 30 2020, 9:41 AM · Restricted Project
baloghadamsoftware added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.
In D86743#2303910, @NoQ wrote:

The last comment for that bug is D69726, but the bug is not closed to it seems to me that D69726 does not solve it, just takes a single step towards the solution.

It might as well be that the patch isn't, well, committed.

Sep 30 2020, 9:40 AM · Restricted Project

Sep 29 2020

baloghadamsoftware added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

Yes, @NoQ is right. If the constraint manager cannot reason about a value, then then ProgramState::assume() will return the same state with the new assumption in the constraints. Whenever ProgramState::assume() returns nullptr it means that the assumption is impossible. Thus in this case DynSize and *ArraySizeNL cannot be equal. To me this really seems to be a similar issue to Bug 28450. The last comment for that bug is D69726, but the bug is not closed to it seems to me that D69726 does not solve it, just takes a single step towards the solution.

Sep 29 2020, 11:52 PM · Restricted Project

Sep 28 2020

baloghadamsoftware added a comment to D88332: [WIP][Analyzer] PtrToIntegCastLibcChecker.
In D88332#2297374, @NoQ wrote:

Also what's your excuse for using visitors instead of ASTMatchers this time? :) I think even a simple matcher callExpr().bind("result") that delegates all the work to the imperative match-callback may make the code a lot more concise (by the virtue of ditching the visitor). Argument type checks may look pretty nice in matcher form as well.

Sep 28 2020, 9:00 AM
baloghadamsoftware added inline comments to D87519: [analyzer][Liveness][NFC] Enqueue the CFGBlocks post-order.
Sep 28 2020, 8:39 AM · Restricted Project

Sep 27 2020

baloghadamsoftware added a comment to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.

Now I completely know what the source of our misunderstanding is. You thought that this patch will fix an issue, namely that we store iterator positions for both the iterator values and the locations of the iterator variables. While this is definitely a wrong approach, it could not be fixed until we got rid from the hack with LazyCompoundVals. These functions keep this existing issue unfixed. However, I could not understand you because I was completely focusing on how these functions could introduce a new issue and I could not find it. No wonder. Thus all my efforts were focused on finding a test cases which passed in the earlier versions but fail in this one because of these functions. Of course I could not find any and I was continuously proving that my patch is correct in the sense that it does not make things worse than they were. That is why I implemented the pointer-based iterators (it would have been better after this patch and a subsequent one that fixes this issue) where I was facing problems because of this wrong approach. In the same time you continuously came with new examples which tried to prove the issue, but I could not understand it because all these new test cases failed in the master version as well. We talked about two very different things because we had very different perceptions about the goal of this patch. That was all.

Sep 27 2020, 11:22 PM · Restricted Project

Sep 25 2020

baloghadamsoftware retitled D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C from [clang-tidy] Add new check for SEI CERT rule SIG30-C. to [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Sep 25 2020, 5:44 AM · Restricted Project, Restricted Project
baloghadamsoftware added inline comments to D87449: [clang-tidy] Add new check for SEI CERT rule SIG30-C.
Sep 25 2020, 5:44 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D87146: [analyzer] Implement shared semantics checks for XNU functions in PthreadLockChecker.

It would be nice if someone had time to look at this. Thanks.

I am just looking, but I am not a pthread expert.

Sep 25 2020, 5:03 AM · Restricted Project
baloghadamsoftware committed rGfacad21b2983: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and… (authored by baloghadamsoftware).
[Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and…
Sep 25 2020, 4:28 AM
baloghadamsoftware closed D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.
Sep 25 2020, 4:28 AM · Restricted Project
baloghadamsoftware added a comment to D87146: [analyzer] Implement shared semantics checks for XNU functions in PthreadLockChecker.

It would be nice if someone had time to look at this. Thanks.

Sep 25 2020, 2:31 AM · Restricted Project
baloghadamsoftware added a comment to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.

@gamesh411, @whisperity, @martong and others, please suggest me new test cases if you think the current ones are not enough.

Sep 25 2020, 1:19 AM · Restricted Project

Sep 24 2020

baloghadamsoftware added a comment to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.

Oh, I think now what do you mean: iterators stored in containers, thus iterators iterating over iterators. Yes, the current working of the checker does not support it because it stores iterator positions for both the prvalues and the glvalues. This is so from the beginning and this patch does not change anything about this behavior. Of course, this design concept is questionable, we can change it in the future. But not in this patch, this one is purely an NFC: it has exactly the same functionality as the previous versions, the only difference is that it does not hamper anymore with LazyCompoundVals but reaches the real region of the objects (and only in case of objects by value, I check the AST type for paramters), exactly as you requested.

Sep 24 2020, 11:43 PM · Restricted Project
baloghadamsoftware retitled D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling from [Analyzer] Avoid handling of LazyCompundVals in IteratorModeling to [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Sep 24 2020, 11:29 PM · Restricted Project
baloghadamsoftware updated the diff for D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.

Test coverage was hugely increased by rebasing this patch to D88216. Two kind of tests failed. This last update addreses them:

Sep 24 2020, 1:57 PM · Restricted Project
baloghadamsoftware added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Sep 24 2020, 12:22 PM · Restricted Project
baloghadamsoftware added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Sep 24 2020, 8:25 AM · Restricted Project
baloghadamsoftware requested review of D88216: [Analyzer] Fix handling of pointer-based iterator increments and decrements.
Sep 24 2020, 4:29 AM · Restricted Project
baloghadamsoftware added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Sep 24 2020, 2:11 AM · Restricted Project

Sep 22 2020

baloghadamsoftware added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Sep 22 2020, 11:47 PM · Restricted Project
baloghadamsoftware added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Sep 22 2020, 11:20 PM · Restricted Project
baloghadamsoftware added inline comments to D77229: [Analyzer][NFC] Avoid handling of LazyCompundVals in IteratorModeling.
Sep 22 2020, 9:51 AM · Restricted Project

Sep 21 2020

baloghadamsoftware updated the diff for D76604: [Analyzer] Model `size()` member function of containers.

New test cases added.

Sep 21 2020, 8:31 AM · Restricted Project
baloghadamsoftware committed rG4fc0214a1014: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer (authored by baloghadamsoftware).
[clang-tidy] New check cppcoreguidelines-prefer-member-initializer
Sep 21 2020, 5:44 AM
baloghadamsoftware closed D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.
Sep 21 2020, 5:44 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

Prerequeisite patch is committed, the check is tested now on the LLVM Project. @lebedev.ri, @aaron.ballman can I recommit it?

Sep 21 2020, 4:32 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

Updated according to the comments.

Sep 21 2020, 4:31 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D77792: [analyzer] Extend constraint manager to be able to compare simple SymSymExprs.

Tests updated: some execution paths merged by refactoring assertions.

Sep 21 2020, 2:42 AM · Restricted Project

Sep 20 2020

baloghadamsoftware added a comment to D81272: [clang-tidy] New check `bugprone-redundant-branch-condition`.

Thanks for this checker. FYI, it found (at least) 3 defects in Firefox code (fixed with the autofix):
https://hg.mozilla.org/mozilla-central/rev/651e68f628d0

https://bugzilla.mozilla.org/show_bug.cgi?id=1664747
(unlikely that it was causing any actual bugs in the product)

Sep 20 2020, 11:39 PM · Restricted Project, Restricted Project

Sep 18 2020

baloghadamsoftware added inline comments to D77792: [analyzer] Extend constraint manager to be able to compare simple SymSymExprs.
Sep 18 2020, 6:38 AM · Restricted Project
baloghadamsoftware added inline comments to D77792: [analyzer] Extend constraint manager to be able to compare simple SymSymExprs.
Sep 18 2020, 5:08 AM · Restricted Project
baloghadamsoftware updated the diff for D77792: [analyzer] Extend constraint manager to be able to compare simple SymSymExprs.

Crash fixed and new tests added.

Sep 18 2020, 5:04 AM · Restricted Project
baloghadamsoftware reclaimed D77792: [analyzer] Extend constraint manager to be able to compare simple SymSymExprs.
Sep 18 2020, 5:03 AM · Restricted Project
baloghadamsoftware commandeered D77792: [analyzer] Extend constraint manager to be able to compare simple SymSymExprs.

We found use cases which can be solved using this improvement. That is why I commandeer this patch now.

Sep 18 2020, 5:03 AM · Restricted Project

Sep 16 2020

baloghadamsoftware committed rGdbd45b2db8e0: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl` (authored by baloghadamsoftware).
[ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`
Sep 16 2020, 4:28 AM
baloghadamsoftware committed rG779a2a2edcea: [clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc (authored by baloghadamsoftware).
[clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc
Sep 16 2020, 4:28 AM
baloghadamsoftware closed D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.
Sep 16 2020, 4:28 AM · Restricted Project
baloghadamsoftware closed D87683: [clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc.
Sep 16 2020, 4:28 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.

Checker modernize-use-equals-delete adjusted.

Sep 16 2020, 3:34 AM · Restricted Project
baloghadamsoftware updated the diff for D87683: [clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc.

std::size_t defined correctly in the tests.

Sep 16 2020, 2:17 AM · Restricted Project, Restricted Project

Sep 15 2020

baloghadamsoftware added a comment to D87683: [clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc.

Please fix the test case first, can't call operator new(unsigned long, void*) with an argument of type void*
The other failures the pre merge bot detected can safely be disregarded

Sep 15 2020, 10:03 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.

Created another matcher hasAnyBody, and updated the documentation of the matchers.

Sep 15 2020, 6:57 AM · Restricted Project
baloghadamsoftware requested review of D87683: [clang-tidy] Crash fix for bugprone-misplaced-pointer-arithmetic-in-alloc.
Sep 15 2020, 4:06 AM · Restricted Project, Restricted Project

Sep 14 2020

baloghadamsoftware updated the diff for D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

No crash, no hang, no false positives on the LLVM Project.

Sep 14 2020, 7:00 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.

Thank you for clarifying. I might nitpick that it's not "obviously wrong": I'm actually writing code now that depends on exactly that behavior -- I don't care where the method decl body is, as long as it's visible in the current TU. That said, I think you're right in wanting FunctionDecl's behavior to align with that of its derived classes and I think it better to behave that way than how it currently behaves. But, we should have an alternative available in case this change breaks anyone else depending on the current behavior. Is there a different matcher with the semantics I've described?

Also, please clarify the comments in the header for this matcher. The current description is quite unclear for functions: "Matches a 'for', 'while', 'do while' statement or a function
definition that has a given body."

Sep 14 2020, 6:30 AM · Restricted Project
baloghadamsoftware added a comment to D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.

Can you expand on what is wrong currently for FunctionDecl descendants? Would the new test FindsBodyOfFunctionChildren fail with the current implementation?

Sep 14 2020, 5:57 AM · Restricted Project

Sep 11 2020

baloghadamsoftware added a comment to D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.
Sep 11 2020, 10:18 AM · Restricted Project
baloghadamsoftware added a comment to D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

It looks like it was not entirely my fault: D87527.

Sep 11 2020, 10:14 AM · Restricted Project, Restricted Project
baloghadamsoftware requested review of D87527: [ASTMatchers] Fix `hasBody` for the descendants of `FunctionDecl`.
Sep 11 2020, 10:02 AM · Restricted Project

Sep 10 2020

baloghadamsoftware added a comment to D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

OK, I reversed the matcher expression now, it seems to work, but I will check it on the LLVM/Clang codebase first.

Sep 10 2020, 9:29 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

I found the problem: hasBody() always returns true if the function has somewhere a body. This means that also the hasBody matcher matches forward declarations. However, I only need the definition. This far I could not find any method to achieve that: isDefinition() also returns true for forward declarations, as well as comparing with the CanonicalDecl. I am looking further...

Sep 10 2020, 9:06 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D85424: [Analyzer] Crash fix for alpha.cplusplus.IteratorRange.

void foo(int x) {

int uninit;
x - uninit; // will-crash

}

Sep 10 2020, 7:41 AM · Restricted Project
baloghadamsoftware updated the diff for D85424: [Analyzer] Crash fix for alpha.cplusplus.IteratorRange.

Test added. Thank you for the test @steakhal!

Sep 10 2020, 7:40 AM · Restricted Project
baloghadamsoftware added a comment to D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

So i've just reverted this in rGebf496d805521b53022a351f35854de977fee844.

@aaron.ballman @baloghadamsoftware how's QC going on nowadays here?
Was this evaluated on anything other than it's tests?

Sep 10 2020, 7:27 AM · Restricted Project, Restricted Project
baloghadamsoftware added inline comments to D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.
Sep 10 2020, 2:53 AM · Restricted Project
baloghadamsoftware updated the diff for D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.

Fix for base constructors, test extended.

Sep 10 2020, 2:51 AM · Restricted Project

Sep 9 2020

baloghadamsoftware requested review of D87388: [Analyzer] Model default constructors of containers.
Sep 9 2020, 8:49 AM · Restricted Project

Sep 8 2020

baloghadamsoftware added inline comments to D76604: [Analyzer] Model `size()` member function of containers.
Sep 8 2020, 12:12 AM · Restricted Project
baloghadamsoftware updated the diff for D76604: [Analyzer] Model `size()` member function of containers.

Fixes.

Sep 8 2020, 12:07 AM · Restricted Project

Sep 7 2020

baloghadamsoftware added inline comments to D76590: [Analyzer] Model `empty()` member function of containers.
Sep 7 2020, 5:01 AM · Restricted Project
baloghadamsoftware updated the diff for D76590: [Analyzer] Model `empty()` member function of containers.

Wrong diff uploaded previously. (Accidentally compared to master instead of the prerequisite.)

Sep 7 2020, 4:51 AM · Restricted Project

Sep 4 2020

baloghadamsoftware updated the diff for D76590: [Analyzer] Model `empty()` member function of containers.

isIterator() updated because it did not work perfectly with the refactored handleBegin() after rebase. (Why did it work before the rebase?) The problem was that it only looked for the necessary operators in the actual class but not in its bases.

Sep 4 2020, 9:18 AM · Restricted Project

Sep 3 2020

baloghadamsoftware updated the diff for D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.

Tests separated.

Sep 3 2020, 6:31 AM · Restricted Project
baloghadamsoftware added a comment to D85728: [Analyzer] Support for the new variadic isa<> and isa_and_not_null<> in CastValueChecker.

I was indeed on vacation, so thanks for committing it, @NoQ! I was waiting for agreement for the prerequisite patch then I forgot to notify you that I was going on vacation.

Sep 3 2020, 3:15 AM · Restricted Project

Sep 2 2020

baloghadamsoftware added inline comments to D86874: [analyzer] Fix ArrayBoundCheckerV2 false positive regarding size_t indexer.
Sep 2 2020, 8:25 AM · Restricted Project
baloghadamsoftware added a comment to D86743: [analyzer] Ignore VLASizeChecker case that could cause crash.

I agree here with @Szelethus. We should investigate first why the assumption fails. Then we can decide about the best possible fix.

Sep 2 2020, 8:08 AM · Restricted Project
baloghadamsoftware added a comment to D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.

@NoQ could you please take a look on this short fix?

Sep 2 2020, 7:13 AM · Restricted Project
baloghadamsoftware added a comment to D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.

I think its a bad experience if you break something while developing. Instead of getting a test failure for "delegating constructor initializers", you'll have to deal with a test that handles a variety of things at once, and are forced to tease it apart to find what just broke. When the introduced assert fires, this wouldn't be an issue, but in any non-crashing case it might be.

Sep 2 2020, 7:12 AM · Restricted Project

Aug 31 2020

baloghadamsoftware committed rG22808d693ef7: [clang-tidy] Buildbot failure fix for commit rGf5fd7486d6c0 (authored by baloghadamsoftware).
[clang-tidy] Buildbot failure fix for commit rGf5fd7486d6c0
Aug 31 2020, 7:31 AM
baloghadamsoftware committed rG14dd0737822b: [Clang-Tidy] New check `bugprone-redundant-branch-condition` (authored by baloghadamsoftware).
[Clang-Tidy] New check `bugprone-redundant-branch-condition`
Aug 31 2020, 7:02 AM
baloghadamsoftware committed rGf5fd7486d6c0: [clang-tidy] New check readability-prefer-member-initializer (authored by baloghadamsoftware).
[clang-tidy] New check readability-prefer-member-initializer
Aug 31 2020, 7:02 AM
baloghadamsoftware closed D81272: [clang-tidy] New check `bugprone-redundant-branch-condition`.
Aug 31 2020, 7:02 AM · Restricted Project, Restricted Project
baloghadamsoftware closed D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.
Aug 31 2020, 7:02 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D85351: [Analyzer] Fix for `ExprEngine::computeObjectUnderConstruction()` for base and delegating consturctor initializers.

Shouldn't we create a new test care for this, instead of expanding an existing one? Btw, this looks great, but I lack the confidence to accept.

Aug 31 2020, 1:27 AM · Restricted Project

Aug 14 2020

baloghadamsoftware updated the diff for D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

Updated according to a comment.

Aug 14 2020, 8:09 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D81272: [clang-tidy] New check `bugprone-redundant-branch-condition`.

Tests andd for not yet handled cases. Known limiatations included in the docs.

Aug 14 2020, 8:08 AM · Restricted Project, Restricted Project
whisperity awarded D81272: [clang-tidy] New check `bugprone-redundant-branch-condition` a Baby Tequila token.
Aug 14 2020, 7:28 AM · Restricted Project, Restricted Project
baloghadamsoftware added a comment to D81272: [clang-tidy] New check `bugprone-redundant-branch-condition`.

Thanks to the new info, I think the check basically LGTM. Can you add some negative tests and documentation wording to make it clear that the check doesn't currently handle all logically equivalent predicates, like:

if (foo) {
} else {
  if (!foo) {
  }
}

// or
if (foo > 5) {
  if (foo > 3) {
  }
}

// or
if (foo > 5) {
  if (5 < foo) {
  }
}

(I'm assuming these cases aren't handled currently and that handling them isn't necessary to land the patch.)

Aug 14 2020, 6:33 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D81272: [clang-tidy] New check `bugprone-redundant-branch-condition`.

It seems that release notes were not renamed automatically. I updated it manually now.

Aug 14 2020, 2:54 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D81272: [clang-tidy] New check `bugprone-redundant-branch-condition`.

Check renamed.

Aug 14 2020, 2:51 AM · Restricted Project, Restricted Project
baloghadamsoftware added inline comments to D81272: [clang-tidy] New check `bugprone-redundant-branch-condition`.
Aug 14 2020, 2:38 AM · Restricted Project, Restricted Project

Aug 13 2020

baloghadamsoftware added inline comments to D81272: [clang-tidy] New check `bugprone-redundant-branch-condition`.
Aug 13 2020, 7:51 AM · Restricted Project, Restricted Project
baloghadamsoftware updated the diff for D71199: [clang-tidy] New check cppcoreguidelines-prefer-member-initializer.

Since no better idea cam to my mind, in this version I check whether modernize-use-default-member-init is enabled. If it is, then we issue a warning and suggest a fix that uses default member initializer. We also take into account the option for that checker whether we should use brackets or assignment. This checker has no options now. If the other checker is not enabled, we always warn and suggest fix to use constructor member initializer.

Aug 13 2020, 7:20 AM · Restricted Project, Restricted Project