[PATCH] D146041: Fix weirdly apologetic diagnostic messages

2023-03-22 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Hi, I came across this due to changes in Static Analyzer. One of the changes is not related to the Github issue mentioned above. Maybe we can drop that file? Comment at: clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:1214-1215

[PATCH] D142454: [analyzer] Update satest dependencies

2023-01-24 Thread Manas Gupta via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGa037b85f3097: [analyzer] Update satest dependencies (authored by manas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2023-01-24 Thread Manas Gupta via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5f02ad880e42: [analyzer][solver] Improve reasoning for not equal to operator (authored by manas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140086/new/

[PATCH] D142454: [analyzer] Update satest dependencies

2023-01-24 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. manas added a reviewer: steakhal. Herald added subscribers: ASDenysPetrov, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. manas requested review of this

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2023-01-24 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Gentle ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140086/new/ https://reviews.llvm.org/D140086 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2023-01-04 Thread Manas Gupta via Phabricator via cfe-commits
manas marked 5 inline comments as done. manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1638-1639 + if (LHS.isUnsigned() && (LHS.getBitWidth() >= RHS.getBitWidth())) { +if (RHS.getMaxValue().isNegative() || +

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2023-01-04 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 486425. manas added a comment. Re-introduce bitwidth comparison Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140086/new/ https://reviews.llvm.org/D140086 Files:

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2023-01-04 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D140086#4010175 , @steakhal wrote: >> This test fails. >> >> void testfoo(unsigned char u, signed int s) { >> if (u >= 253 && u <= 255 && s < INT_MAX - 2) { >> // u: [253, 254], s: [INT_MIN, INT_MAX - 2] >>

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2022-12-18 Thread Manas Gupta via Phabricator via cfe-commits
manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1642 +if (LHS.isUnsigned() ^ RHS.isUnsigned()) { + if (LHS.isUnsigned() && (LHS.getBitWidth() >= RHS.getBitWidth())) { + steakhal wrote: > manas wrote: > >

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2022-12-17 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 483786. manas added a comment. Remove redundant branches Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140086/new/ https://reviews.llvm.org/D140086 Files:

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2022-12-17 Thread Manas Gupta via Phabricator via cfe-commits
manas marked 2 inline comments as done. manas added a comment. In D140086#3998426 , @steakhal wrote: > Thanks for going the extra mile to address this last thing. I really > appreciate it. > I've got only a few minor comments and suggestions. > > I'd

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2022-12-15 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 483135. manas added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D140086/new/ https://reviews.llvm.org/D140086 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D140086: [analyzer][solver] Improve reasoning for not equal to operator

2022-12-14 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. manas added a reviewer: steakhal. Herald added subscribers: ASDenysPetrov, martong, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: NoQ. Herald added a project: All. manas requested review of

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-12-09 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 481560. manas added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-12-09 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 481545. manas added a comment. Assert over non-empty ranges and add fixme for not handled cases Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files:

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-12-09 Thread Manas Gupta via Phabricator via cfe-commits
manas marked 13 inline comments as done. manas added a comment. In D112621#3978285 , @steakhal wrote: > For the test cases where we should be able to prove the case but return > `Unknown` instead, should be marked by a FIXME stating the expected value.

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-12-06 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 480542. manas marked an inline comment as done. manas added a comment. Add more tests for complete coverage Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files:

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-12-06 Thread Manas Gupta via Phabricator via cfe-commits
manas marked 2 inline comments as done. manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1624 + if (LHS.isEmpty() || RHS.isEmpty()) +return RangeFactory.getEmptySet(); + steakhal wrote: > This branch is

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-11-25 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 477934. manas added a comment. Fix test cases Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-11-25 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D112621#3949400 , @steakhal wrote: > `Analysis/constant-folding.c` seems to fail. > Please run the `check-clang-analysis` build target to see what fails and > investigate it. @steakhal thank you for reviewing this! I

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-11-08 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-09-29 Thread Manas Gupta via Phabricator via cfe-commits
manas marked 3 inline comments as done. manas added a comment. Thanks @martong and @ASDenysPetrov for the feedback. I utilized `(u != n)` to disallow bifurcation in test cases. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1630-1631 + + RangeSet

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-09-29 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 463910. manas added a comment. Fix casting to bigger/unsigned type and add tests with multiple ranges in RangeSet Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-07-18 Thread Manas Gupta via Phabricator via cfe-commits
manas marked an inline comment as done. manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1272-1273 + // (x != y). + if ((ConvertedLHS.getMaxValue() < ConvertedRHS.getMinValue()) || + (ConvertedLHS.getMinValue() >

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-07-18 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 445671. manas added a comment. Rebase and fix comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files:

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-07-18 Thread Manas Gupta via Phabricator via cfe-commits
manas marked 5 inline comments as done. manas added a comment. Considering @ASDenysPetrov 's example of `LHS = [1, 2] U [8, 9]` and `RHS = [5, 6]`, I constructed a test case as following: `(((u1 >= 1 && u1 <= 2) || (u1 >= 8 && u1 <= 9)) && u2 >= 5 && u2 <= 6)` but I can see that the analyzer

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-07-18 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 445549. manas added a comment. Remove filling gaps and convert, use castTo, and add tests for short-ushort, char-uchar pairs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-07-15 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. The coverage showing unreachability of `VisitBinaryOperator` for concrete integer cases. F23801808: RangeConstraintManager.cpp.html Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1415-1416 + +

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-07-15 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 444911. manas added a comment. Add concrete tests for same and different types Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files:

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-07-11 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. I was busy with other stuff. I will take a look at it now. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 ___ cfe-commits mailing list

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-04-07 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 421134. manas added a comment. Format constant-folding.c Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files:

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-04-07 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 421122. manas added a comment. Fix comments and rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files:

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-04-06 Thread Manas Gupta via Phabricator via cfe-commits
manas marked 2 inline comments as done. manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1272-1273 + // (x != y). + if ((ConvertedLHS.getMaxValue() < ConvertedRHS.getMinValue()) || + (ConvertedLHS.getMinValue() >

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-04-06 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. @steakhal apologies for holding onto this for so long. I managed to fix previously untestable test cases. The issue was that I was building expressions as `(u1 != u2) != 0` and the solver was canonicalizing this to an equivalent `BO_EQ` expression. That's why, it wasn't

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2022-04-06 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 420962. manas added a comment. Herald added a project: All. Fix test cases to make them reachable via VisiBinaryOperator and using getConcreteValue() Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/

[PATCH] D120646: [clang][scan-build] Change mode of installation for scan-build.1

2022-03-02 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Herald added a project: All. Buildbots are happy. I think we can land this. @steakhal do you mind landing it? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120646/new/ https://reviews.llvm.org/D120646

[PATCH] D120646: [clang][scan-build] Change mode of installation for scan-build.1

2022-03-01 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. I rebased to see if it satisfies the buildbot. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120646/new/ https://reviews.llvm.org/D120646 ___ cfe-commits mailing list

[PATCH] D120646: [clang][scan-build] Change mode of installation for scan-build.1

2022-03-01 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 412112. manas added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120646/new/ https://reviews.llvm.org/D120646 Files: clang/tools/scan-build/CMakeLists.txt Index:

[PATCH] D120646: [clang][scan-build] Change mode of installation for scan-build.1

2022-02-28 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. This patch fixes #53967 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120646/new/ https://reviews.llvm.org/D120646 ___

[PATCH] D120646: [clang][scan-build] Change mode of installation for scan-build.1

2022-02-28 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. Herald added a subscriber: mgorny. manas requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Currently, manpage for scan-build is installed as a program, with permission of 755. This patch makes installation of

[PATCH] D114758: [analyzer][solver] Introduce reasoning for not equal to operator

2021-11-29 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Closing this as this is mistakenly a duplicate of existing differential D112621 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114758/new/ https://reviews.llvm.org/D114758

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2021-11-29 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. I have made few changes: 1. The failed assertions due to comparison between different types have been fixed by converting all the Ranges to a given type. This will allow comparisons without throwing errors. 2. There was also a build

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2021-11-29 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 390526. manas added a comment. Fix comparison between different types and add a test to check it Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112621/new/ https://reviews.llvm.org/D112621 Files:

[PATCH] D114758: [analyzer][solver] Introduce reasoning for not equal to operator

2021-11-29 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. Herald added subscribers: steakhal, ASDenysPetrov, martong, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. manas requested review of this revision. Herald added a project: clang. Herald added a subscriber:

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2021-10-27 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D112621#3090450 , @steakhal wrote: > It seems like the test does not exercise the modified code segment. > Please investigate, and make sure that the code you submit is actually > exercised by the test you provide. I am really

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2021-10-27 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. @steakhal @martong This patch solves the comparison between different types by bypassing the RangeSets first to `VisitBinaryOperator` which coarses/converts, and then only it checks for any True/False ranges via comparison. This is similar to what happens with `BO_Rem`,

[PATCH] D112621: [analyzer][solver] Introduce reasoning for not equal to operator

2021-10-27 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. Herald added subscribers: steakhal, ASDenysPetrov, martong, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: teemperor. manas requested review of this revision. Herald added a project: clang.

[PATCH] D105447: [analyzer] Allow cmake options to be passed to satest container

2021-10-23 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Gentle ping! I think landing it will make collecting analyzer information easier (in terms of faster build) as more (appropriate) cmake options can be passed via cmdline. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-10-23 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Based on the information from debugger, the logs show RangeSets `[0, 255]` and `[INT_MIN, 0]` from different types are causing the failure. I tried producing a compact test case

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-10-22 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. I have received a failed build on clang-ppc64be-linux (https://lab.llvm.org/buildbot/#/builders/52/builds/11704). Although, I haven't verified the commit. Is there something wrong with this commit? Is the function VisitBinaryOperator reachable? Repository: rG LLVM

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-10-01 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. I'll take a look at this over the weekend. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106102/new/ https://reviews.llvm.org/D106102 ___ cfe-commits mailing list

[PATCH] D107312: [analyzer] Fix deprecated plistlib functions

2021-10-01 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D107312#3036421 , @steakhal wrote: > I'm not using this script. I'm assuming you run it and verified that it works. > Thanks for cleaning this up. I have run it. It is working. Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-10-01 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D106102#3036474 , @steakhal wrote: > In D106102#3036220 , @manas wrote: > >> I do not have landing rights. > > Please add your name and email on whom behalf I should commit this patch.

[PATCH] D107312: [analyzer] Fix deprecated plistlib functions

2021-10-01 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Gentle ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D107312/new/ https://reviews.llvm.org/D107312 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-10-01 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D106102#3035598 , @steakhal wrote: > Good work. Land it. I do not have landing rights. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106102/new/ https://reviews.llvm.org/D106102

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-30 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 376363. manas added a comment. Fix typo Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106102/new/ https://reviews.llvm.org/D106102 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-30 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D106102#3032888 , @steakhal wrote: > Okay, I don't see any problems besides this typo. Oops! > BTW do you plan to implement other rules besides this in the future? > E.g. we currently miss this: > 'x < y' is `true` if `max(x)

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-29 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 376035. manas added a comment. Apply mentioned edits in testcases Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106102/new/ https://reviews.llvm.org/D106102 Files:

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-29 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D106102#3029633 , @martong wrote: > In D106102#3028584 , @manas wrote: > >> The pre-merge checks fail due to the patch being unable to get applied. The >> troubleshooting >>

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-28 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. The pre-merge checks fail due to the patch being unable to get applied. The troubleshooting suggest to update the patch via `arc diff ```git merge-base HEAD origin``` --update D106102`

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-28 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 375689. manas added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106102/new/ https://reviews.llvm.org/D106102 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-28 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 375682. manas added a comment. Move method to a specialized template for VisitBinaryOperator Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106102/new/ https://reviews.llvm.org/D106102 Files:

[PATCH] D106416: [analyzer] Fix build dependency issues for SATest

2021-09-25 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. @vsavchenko should we land this? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106416/new/ https://reviews.llvm.org/D106416 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D106416: [analyzer] Fix build dependency issues for SATest

2021-09-25 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 375017. manas added a comment. Upgrade cmake to 3.21.3 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106416/new/ https://reviews.llvm.org/D106416 Files: clang/utils/analyzer/Dockerfile Index:

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-24 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 374746. manas added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106102/new/ https://reviews.llvm.org/D106102 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-09-24 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. I haven't tried specializing that `VisitBinaryOperator` method which converts Ranges from RangeSets (as @vsavchenko mentioned). Should this case for NE stay here in the switch or move? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D105273: [analyzer] Introduce range-based reasoning for subtraction operator

2021-08-03 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D105273#2891921 , @manas wrote: > Here is the proof using Z3: > https://gist.github.com/weirdsmiley/8a35a0e1f55f310e3566cbd47555491a I have updated the proof for Sub. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-08-03 Thread Manas Gupta via Phabricator via cfe-commits
manas marked an inline comment as done. manas added a comment. I have updated the proof for Add: https://gist.github.com/weirdsmiley/ad6a9dbf3370e96d29f9e90068931d25 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-08-03 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 363742. manas added a comment. Fix unrelated commits mess up! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/ https://reviews.llvm.org/D103440 Files:

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-08-03 Thread Manas Gupta via Phabricator via cfe-commits
manas added inline comments. Comment at: clang/utils/analyzer/Dockerfile:15-22 RUN apt-get update && apt-get install -y \ git=1:2.17.1* \ gettext=0.19.8.1* \ python3=3.6.7-1~18.04 \ python3-pip=9.0.1-2.3* \ -cmake=3.20.5* \ -ninja-build=1.8.2-1 +

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-08-03 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 363734. manas added a comment. Fix test comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/ https://reviews.llvm.org/D103440 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D107312: [analyzer] Fix deprecated plistlib functions

2021-08-02 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. Herald added subscribers: steakhal, ASDenysPetrov, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: teemperor. manas requested review of this revision. Herald added a project: clang. Herald

[PATCH] D106416: [analyzer] Fix build dependency issues for SATest

2021-08-02 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Fixing another broken dependency packages error. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106416/new/ https://reviews.llvm.org/D106416 ___ cfe-commits mailing list

[PATCH] D106416: [analyzer] Fix build dependency issues for SATest

2021-08-02 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 363572. manas added a comment. upgrade cmake-3.21.0 to cmake-3.21.1 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106416/new/ https://reviews.llvm.org/D106416 Files: clang/utils/analyzer/Dockerfile Index:

[PATCH] D106416: [analyzer] Fix build dependency issues for SATest

2021-07-20 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. Herald added subscribers: steakhal, ASDenysPetrov, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: teemperor. manas requested review of this revision. Herald added a project: clang. Herald

[PATCH] D105273: [analyzer] Introduce range-based reasoning for subtraction operator

2021-07-20 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Here is the proof using Z3: https://gist.github.com/weirdsmiley/8a35a0e1f55f310e3566cbd47555491a Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105273/new/ https://reviews.llvm.org/D105273

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-07-20 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. Here is the proof of correctness of the algorithm using Z3: https://gist.github.com/weirdsmiley/ad6a9dbf3370e96d29f9e90068931d25 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/ https://reviews.llvm.org/D103440

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-07-16 Thread Manas Gupta via Phabricator via cfe-commits
manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1223-1225 +template <> +RangeSet SymbolicRangeInferrer::VisitBinaryOperator(Range LHS, Range RHS, + QualType T) {

[PATCH] D106102: [analyzer][solver] Introduce reasoning for not equal to operator

2021-07-15 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. Herald added subscribers: steakhal, ASDenysPetrov, martong, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: teemperor. manas requested review of this revision. Herald added a project: clang.

[PATCH] D105447: [analyzer] Allow cmake options to be passed to satest container

2021-07-06 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 356821. manas added a comment. Pass commands through settings instead of rest Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105447/new/ https://reviews.llvm.org/D105447 Files:

[PATCH] D105447: [analyzer] Allow cmake options to be passed to satest container

2021-07-06 Thread Manas Gupta via Phabricator via cfe-commits
manas added inline comments. Comment at: clang/utils/analyzer/entrypoint.py:12 settings, rest = parse_arguments() +cmake_opts = list(filter(lambda cmd: cmd[:2]=='-D', rest)) if settings.wait: vsavchenko wrote: > I think we should still use

[PATCH] D105447: [analyzer] Allow cmake options to be passed to satest container

2021-07-05 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 356575. manas edited the summary of this revision. manas added a comment. Edit summary Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105447/new/ https://reviews.llvm.org/D105447 Files:

[PATCH] D105447: [analyzer] Allow cmake options to be passed to satest container

2021-07-05 Thread Manas Gupta via Phabricator via cfe-commits
manas added a comment. In D105447#2858740 , @manas wrote: > Restore global cmake command Apparently, my initial observation of `LLVM_BUILD_RUNTIME=OFF` hogging up memory was false and I also didn't know what was the default value for this option.

[PATCH] D105447: [analyzer] Allow cmake options to be passed to satest container

2021-07-05 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 356574. manas added a comment. Restore global cmake command Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105447/new/ https://reviews.llvm.org/D105447 Files: clang/utils/analyzer/entrypoint.py Index:

[PATCH] D105447: [analyzer] Allow cmake options to be passed to satest container

2021-07-05 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. Herald added subscribers: steakhal, ASDenysPetrov, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: teemperor. manas requested review of this revision. Herald added a reviewer: jdoerfert. Herald

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-07-02 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 356256. manas added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/ https://reviews.llvm.org/D103440 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-07-02 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 356250. manas added a comment. Replace literal-value 0 with APSInt Zero Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/ https://reviews.llvm.org/D103440 Files:

[PATCH] D105273: [analyzer] Introduce range-based reasoning for subtraction operator

2021-07-02 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 356249. manas added a comment. Remove redundant getAPSIntType calls Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105273/new/ https://reviews.llvm.org/D105273 Files:

[PATCH] D105273: [analyzer] Introduce range-based reasoning for subtraction operator

2021-07-02 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 356245. manas added a comment. Replace literal-value 0 with APSInt Zero Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105273/new/ https://reviews.llvm.org/D105273 Files:

[PATCH] D105273: [analyzer] Introduce range-based reasoning for subtraction operator

2021-07-02 Thread Manas Gupta via Phabricator via cfe-commits
manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1485 + if (ResultType.isUnsigned() || + ((LHS.From() >= 0 && RHS.From() < 0) && + (LHS.To() >= 0 && RHS.To() < 0)) || @vsavchenko one thing crossed my

[PATCH] D105273: [analyzer] Introduce range-based reasoning for subtraction operator

2021-07-02 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 356235. manas marked 3 inline comments as done. manas added a comment. Merge conditionals with similar block and add test for one overflow on Tmax-side Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D105273/new/

[PATCH] D105273: [analyzer] Introduce range-based reasoning for subtraction operator

2021-07-02 Thread Manas Gupta via Phabricator via cfe-commits
manas marked 3 inline comments as done. manas added a comment. Thanks Valeriy. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1490 + // the resulting range should be [Min, Max]. + if (ResultType.isUnsigned()) { +return {RangeFactory,

[PATCH] D105273: [analyzer] Introduce range-based reasoning for subtraction operator

2021-07-01 Thread Manas Gupta via Phabricator via cfe-commits
manas created this revision. Herald added subscribers: steakhal, ASDenysPetrov, martong, dkrupp, donat.nagy, Szelethus, mikhail.ramalho, a.sidorin, szepet, baloghadamsoftware, xazax.hun. Herald added a reviewer: teemperor. manas requested review of this revision. Herald added a project: clang.

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-07-01 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 355825. manas added a comment. Reformat comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/ https://reviews.llvm.org/D103440 Files: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-06-25 Thread Manas Gupta via Phabricator via cfe-commits
manas added inline comments. Comment at: clang/test/Analysis/constant-folding.c:330 +clang_analyzer_eval((c + d) == INT_MAX - 22); // expected-warning{{FALSE}} + } +} vsavchenko wrote: > manas wrote: > > vsavchenko wrote: > > > I don't see the cases where

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-06-25 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 354441. manas added a comment. Add tests for overflows on both ends Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/ https://reviews.llvm.org/D103440 Files:

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-06-24 Thread Manas Gupta via Phabricator via cfe-commits
manas updated this revision to Diff 354424. manas added a comment. Fix issues involving usage of `uadd_ov` and family of functions Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103440/new/ https://reviews.llvm.org/D103440 Files:

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-06-24 Thread Manas Gupta via Phabricator via cfe-commits
manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1400 + if (ResultType.isUnsigned()) { +LHS.From().uadd_ov(RHS.From(), HasMinOverflowed); +LHS.To().uadd_ov(RHS.To(), HasMaxOverflowed); vsavchenko wrote: >

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-06-24 Thread Manas Gupta via Phabricator via cfe-commits
manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1400 + if (ResultType.isUnsigned()) { +LHS.From().uadd_ov(RHS.From(), HasMinOverflowed); +LHS.To().uadd_ov(RHS.To(), HasMaxOverflowed); vsavchenko wrote: >

[PATCH] D103440: [WIP][analyzer] Introduce range-based reasoning for addition operator

2021-06-24 Thread Manas Gupta via Phabricator via cfe-commits
manas marked an inline comment as not done. manas added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp:1400 + if (ResultType.isUnsigned()) { +LHS.From().uadd_ov(RHS.From(), HasMinOverflowed); +LHS.To().uadd_ov(RHS.To(),

  1   2   >