[PATCH] D32842: Specify which sanitizers are covered by a sanitizer blacklist

2017-05-25 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @vsk Looks reasonable to me, although I would say such a change should probably require more tests. However, I am not a C++ expert, and I am still not overly familiar with a codebase, so I'm not sure whether I should be a single reviewer.

[PATCH] D38764: [Analyzer] Assume const string-like globals are non-null

2017-10-10 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun, mgorny. https://reviews.llvm.org/D38764 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td lib/StaticAnalyzer/Checkers/CMakeLists.txt lib/StaticAnalyzer/Checkers/NonnilStringConstantsChecker.cpp

[PATCH] D38764: [Analyzer] Assume const string-like globals are non-null

2017-10-10 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 118493. https://reviews.llvm.org/D38764 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td lib/StaticAnalyzer/Checkers/CMakeLists.txt lib/StaticAnalyzer/Checkers/NonnilStringConstantsChecker.cpp test/Analysis/nonnil-string-constants.mm

[PATCH] D38589: [Analyzer] Run tests until the end, do not stop at the first failure

2017-10-05 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL314992: [Analyzer Tests] Run static analyzer integration tests until the end, (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D38589?vs=117847=117848#toc Repository:

[PATCH] D38589: [Analyzer] Run tests until the end, do not stop at the first failure

2017-10-05 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 117847. https://reviews.llvm.org/D38589 Files: utils/analyzer/SATestBuild.py Index: utils/analyzer/SATestBuild.py === --- utils/analyzer/SATestBuild.py +++

[PATCH] D38589: [Analyzer] Run tests until the end, do not stop at the first failure

2017-10-05 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. This is especially important for updating reference results. https://reviews.llvm.org/D38589 Files: utils/analyzer/SATestBuild.py Index: utils/analyzer/SATestBuild.py

[PATCH] D38904: Allow building libFuzzer in two-stage compiler-rt build

2017-10-13 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: mgorny, dberris. When `LLVM_BUILD_EXTERNAL_COMPILER_RT` option is set to true, all of projects in compiler-rt are built with a freshly-built compiler using a recursive CMake invocation. (e.g. that's how compiler-rt is used in

[PATCH] D38904: Allow building libFuzzer in two-stage compiler-rt build

2017-10-13 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315771: Allow building libFuzzer in two-stage compiler-rt build (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D38904?vs=118977=118979#toc Repository: rL LLVM

[PATCH] D38839: [compiler-rt] [cmake] [interception] Remove duplicate gtest from test COMPILE_DEPS

2017-10-12 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov accepted this revision. george.karpenkov added a comment. This revision is now accepted and ready to land. Yep, thanks! This was probably the root cause of the failure. https://reviews.llvm.org/D38839 ___ cfe-commits mailing list

[PATCH] D38838: [compiler-rt] [cmake] Fix skipping DEPS (typo) in sanitizer_test_compile()

2017-10-12 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov accepted this revision. george.karpenkov added a comment. This revision is now accepted and ready to land. Yep, thanks! Good to go provided tests run. Looks like we haven't spotted it due to other bug you have fixed cancelling this one out. https://reviews.llvm.org/D38838

[PATCH] D38840: [compiler-rt] [cmake] [asan] Reuse generate_asan_tests for dynamic tests

2017-10-12 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov requested changes to this revision. george.karpenkov added a comment. This revision now requires changes to proceed. @mgorny so this one actually changes semantics. The previous one reused generated object files, and with the change it will start recompiling all the tests again.

[PATCH] D38840: [compiler-rt] [cmake] [asan] Remove unnecessary gtest dep from dynamic tests

2017-10-12 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov accepted this revision. george.karpenkov added a comment. This revision is now accepted and ready to land. LGTM, provided tests pass both in standalone and "normal" modes. https://reviews.llvm.org/D38840 ___ cfe-commits mailing

[PATCH] D38986: [Analyzer] Better unreachable message in enumeration

2017-10-16 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. @dcoughlin I'm curious whether you'd like such a change: in general, I think it is much better when the assert failure tells the developer _what_ value is failing, rather than saying "oops we are dead". I would

[PATCH] D38444: [compiler-rt] [cmake] Create dummy gtest target for stand-alone builds

2017-10-02 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. > breaking stand-alone builds as a result That's a strong statement. Could you clarify? We have a lot of buildbots performing standalone builds, and they are still green. > and the likeliness of people mistakenly adding more unconditional dependencies That's

[PATCH] D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer

2017-08-28 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. I don't, but I can check whether tests pass. https://reviews.llvm.org/D37156 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D37156: [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer

2017-08-28 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @kcc I've disabled the relevant test on Mac in r311916, please revert my change once this CR goes through. https://reviews.llvm.org/D37156 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D38702: [Analyzer] Do not segfault on unexpected call_once implementation

2017-10-09 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun, javed.absar. Fixes https://bugs.llvm.org/show_bug.cgi?id=30565 @dcoughlin Any advice on how to handle different stdlib implementations? Can we conjure a separate symbol instead of relying on a particular struct

[PATCH] D38702: [Analyzer] Do not segfault on unexpected call_once implementation

2017-10-09 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. Ooops, updated to https://bugs.llvm.org/show_bug.cgi?id=34869 https://reviews.llvm.org/D38702 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D38702: [Analyzer] Do not segfault on unexpected call_once implementation

2017-10-09 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 118291. george.karpenkov added a comment. Review comments. https://reviews.llvm.org/D38702 Files: lib/Analysis/BodyFarm.cpp test/Analysis/call_once.cpp Index: test/Analysis/call_once.cpp

[PATCH] D38702: [Analyzer] Do not segfault on unexpected call_once implementation

2017-10-09 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315250: [Analyzer] Do not segfault on unexpected call_once implementation (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D38702?vs=118291=118294#toc Repository: rL

[PATCH] D38444: [compiler-rt] [cmake] Create dummy gtest target for stand-alone builds

2017-10-11 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @mgorny I've replied via email, but the message didn't seem to appear here. From my (maybe limited) understanding, running tests on standalone compiler-rt builds was never something which was supported, as that required a fresh compiler. I've just tried

[PATCH] D38810: [Analyzer] Support bodyfarming std::call_once for libstdc++

2017-10-11 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315508: [Analyzer] Support bodyfarming libstdc++ implementation of std::call_once. (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D38810?vs=118644=118686#toc

[PATCH] D38764: [Analyzer] Assume const string-like globals are non-null

2017-10-11 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 118657. george.karpenkov marked 2 inline comments as done. https://reviews.llvm.org/D38764 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td lib/StaticAnalyzer/Checkers/CMakeLists.txt

[PATCH] D38764: [Analyzer] Assume const string-like globals are non-null

2017-10-11 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315488: [Analyzer] Assume that string-like const globals are non-nil. (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D38764?vs=118657=118660#toc Repository: rL

[PATCH] D38810: [Analyzer] Support bodyfarming std::call_once for libstdc++

2017-10-11 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, kristof.beyls, xazax.hun, javed.absar, aemerson. https://reviews.llvm.org/D38810 Files: lib/Analysis/BodyFarm.cpp test/Analysis/call_once.cpp Index: test/Analysis/call_once.cpp

[PATCH] D38764: [Analyzer] Assume const string-like globals are non-null

2017-10-11 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov marked 9 inline comments as done. george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Checkers/NonnullStringConstantsChecker.cpp:22 +// Checker uses are defined in the test file: +// - test/Analysis/nonnull-string-constants.mm +//

[PATCH] D38764: [Analyzer] Assume const string-like globals are non-null

2017-10-10 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 118522. george.karpenkov added a comment. Typo fix. https://reviews.llvm.org/D38764 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td lib/StaticAnalyzer/Checkers/CMakeLists.txt

[PATCH] D38764: [Analyzer] Assume const string-like globals are non-null

2017-10-10 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. Marking requests as "done". https://reviews.llvm.org/D38764 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D38764: [Analyzer] Assume const string-like globals are non-null

2017-10-10 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 118521. george.karpenkov marked 12 inline comments as done. george.karpenkov added a comment. Adhering to comments. https://reviews.llvm.org/D38764 Files: include/clang/StaticAnalyzer/Checkers/Checkers.td

[PATCH] D39015: [Analyzer] Always use non-reference types when creating expressions in BodyFarm, removes std::call_once crash

2017-10-17 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, kristof.beyls, xazax.hun, javed.absar, aemerson. Remove an option to use a reference type (on by default!) since a non-reference type is always needed for creating expressions, functions with multiple boolean parameters

[PATCH] D39015: [Analyzer] Always use non-reference types when creating expressions in BodyFarm, removes std::call_once crash

2017-10-17 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 119360. https://reviews.llvm.org/D39015 Files: lib/Analysis/BodyFarm.cpp test/Analysis/call_once.cpp Index: test/Analysis/call_once.cpp === --- test/Analysis/call_once.cpp +++

[PATCH] D39015: [Analyzer] Always use non-reference types when creating expressions in BodyFarm, removes std::call_once crash

2017-10-17 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316041: [Analyzer] Always use non-reference types when creating expressions in BodyFarm. (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39015?vs=119360=119392#toc

[PATCH] D39031: [Analyzer] Correctly handle parameters passed by reference when bodyfarming std::call_once

2017-10-17 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, kristof.beyls, xazax.hun, javed.absar, aemerson. Also explicitly do not support functors for now, since that entails figuring out which call operator corresponds to the passed parameters. Resolution: we really should not

[PATCH] D39208: [Analyzer] Do not use static storage to for implementations created in BodyFarm.cpp

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin that's not me, that's clang-format. If we agree on always running it, I think the changes should stay there. https://reviews.llvm.org/D39208 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D39208: [Analyzer] Do not use static storage to for implementations created in BodyFarm.cpp

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316400: [Analyzer] Do not use static storage to for implementations created in BodyFarm. (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39208?vs=119949=119974#toc

[PATCH] D39208: [Analyzer] Do not use static storage to for implementations created in BodyFarm.cpp

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin the context I was thinking about is that if everyone consistently runs `clang-format` (if we want that), then we never would have discussion. The alternative is that every run of `clang-format` would be followed by manually reverting changes which

[PATCH] D39208: [Analyzer] Do not use static storage to for implementations created in BodyFarm.cpp

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin OK sorry, I haven't considered the point that codebase predates the requirement, and the master format-all commit was never done. I've committed this one already, but I will be more careful with applying clang-format to future changes. Repository:

[PATCH] D39201: [Analyzer] Handle implicit function reference in bodyfarming std::call_once

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316402: [Analyzer] Handle implicit function reference in bodyfarming std::call_once (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39201?vs=119911=119975#toc

[PATCH] D39220: [Analyzer] Store BodyFarm in std::unique_ptr

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, kristof.beyls, xazax.hun, aemerson. While by using `.get()` method we don't get the full protection offered by `std::unique_ptr`, given that two bugs were already encountered

[PATCH] D38986: [Analyzer] Better unreachable message in enumeration

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin > Is it when an end-user is running a build with assertions and can't provide a > reproducer but can provide the console output? Yes, or just for developer staring at the crash for the first time, or for the crashers in CI. > Does

[PATCH] D39208: [Analyzer] Do not use static storage to for implementations created in BodyFarm.cpp

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, kristof.beyls, xazax.hun, javed.absar, aemerson. https://reviews.llvm.org/D39208 Files: include/clang/Analysis/AnalysisDeclContext.h include/clang/Analysis/BodyFarm.h lib/Analysis/AnalysisDeclContext.cpp

[PATCH] D39201: [Analyzer] Handle implicit function reference in bodyfarming std::call_once

2017-10-23 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, kristof.beyls, xazax.hun, javed.absar, aemerson. https://reviews.llvm.org/D39201 Files: lib/Analysis/BodyFarm.cpp test/Analysis/call_once.cpp Index: test/Analysis/call_once.cpp

[PATCH] D30691: [analyzer] Support for naive cross translational unit analysis

2017-11-28 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov requested changes to this revision. george.karpenkov added inline comments. This revision now requires changes to proceed. Comment at: tools/scan-build-py/libscanbuild/analyze.py:44 +CTU_FUNCTION_MAP_FILENAME = 'externalFnMap.txt' +CTU_TEMP_FNMAP_FOLDER =

[PATCH] D35109: [Analyzer] SValBuilder Comparison Rearrangement

2017-11-29 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. > If the type extension approach is proven to be sound I lack the full context here, but in my experience Z3 is really great for proving whether certain operations may or may not overflow, using the built-in bitvector type. (I'm not sure though if that is what

[PATCH] D39709: [analyzer] [NFC] remove duplicated function

2017-12-04 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin @NoQ OK to commit? https://reviews.llvm.org/D39709 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D39709: [analyzer] [NFC] remove duplicated function

2017-12-04 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC319697: [analyzer] [NFC] remove duplicated function (authored by george.karpenkov). Repository: rC Clang https://reviews.llvm.org/D39709 Files: lib/StaticAnalyzer/Core/RangeConstraintManager.cpp

[PATCH] D40809: [WIP] [analyzer] Dump counterexample traces as C programs

2017-12-04 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 125429. george.karpenkov edited the summary of this revision. https://reviews.llvm.org/D40809 Files: include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp

[PATCH] D40809: [WIP] [analyzer] Dump counterexample traces as C programs

2017-12-04 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: a.sidorin, szepet, xazax.hun. This patch is work in progress, but has already shown itself to be useful in a few cases. For large traces understanding the analyzer output can be painful, especially when arrows indicating the

[PATCH] D40809: [WIP] [analyzer] Dump counterexample traces as C programs

2017-12-15 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @alexshap That's a good question, and honestly I am not sure. It is probably a good idea to have the tests which run the counterexample dumper and check that it does not crash. As for the contents, I'm not sure: I would like to switch to generating HTML, and

[PATCH] D40809: [WIP] [analyzer] Dump counterexample traces as C programs

2017-12-15 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 127197. george.karpenkov edited the summary of this revision. george.karpenkov added a comment. Herald added a subscriber: mgorny. Fixed formatting, moved output to diagnostic consumer. https://reviews.llvm.org/D40809 Files:

[PATCH] D40809: [WIP] [analyzer] Dump counterexample traces as C programs

2017-12-15 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin @NoQ I think this version is reasonable enough to get committed. Another easy iteration would be to change visitor to simply add the diagnostic to path, and move the actual printing to `CounterexampleDiagnostics`. https://reviews.llvm.org/D40809

[PATCH] D40809: [WIP] [analyzer] Dump counterexample traces as C programs

2017-12-14 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin my current iteration creates a `PathDiagnosticConsumer` which outputs HTML with this report. I think that makes much more sense (as essentially this is a way of visualizing the error path). https://reviews.llvm.org/D40809

[PATCH] D30691: [analyzer] Support for naive cross translational unit analysis

2017-12-13 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov requested changes to this revision. george.karpenkov added a comment. This revision now requires changes to proceed. I've tried using the patch, and I got blocked at the following: CTU options are only exposed when one goes through `analyze-build` frontend, which requires

[PATCH] D40809: [WIP] [analyzer] Dump counterexample traces as C programs

2017-12-13 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 126853. george.karpenkov edited the summary of this revision. https://reviews.llvm.org/D40809 Files: include/clang/StaticAnalyzer/Core/AnalyzerOptions.h include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h

[PATCH] D40809: [WIP] [analyzer] Dump counterexample traces as C programs

2017-12-18 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov abandoned this revision. george.karpenkov added a comment. Abandoned in favor of https://reviews.llvm.org/D41378 https://reviews.llvm.org/D40809 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D30691: [analyzer] Support for naive cross translational unit analysis

2017-12-12 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: tools/scan-build-py/libscanbuild/report.py:257 def read_bugs(output_dir, html): +# type: (str, bool) -> Generator[Dict[str, Any], None, None] """ Generate a unique sequence of bugs from given output directory.

[PATCH] D39518: [analyzer] do not crash on libcxx03 call_once implementation

2017-11-01 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added a reviewer: EricWF. Herald added subscribers: szepet, xazax.hun, javed.absar. Addresses https://bugs.llvm.org/show_bug.cgi?id=35075 https://reviews.llvm.org/D39518 Files: lib/Analysis/BodyFarm.cpp test/Analysis/call_once.cpp Index:

[PATCH] D39691: [analyzer] Model correct dispatch_once() 'done' value in BodyFarm

2017-11-06 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov accepted this revision. george.karpenkov added a comment. This revision is now accepted and ready to land. Looks good to me. I really don't think the test format chosen in `unix-fns.c` is a good idea, as it is very large, auto-generated, and tightly coupled to chosen formatting.

[PATCH] D39584: [analyzer] [NFC] another very minor ExprEngineC refactoring

2017-11-06 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 121814. george.karpenkov edited the summary of this revision. george.karpenkov added a comment. Addressed review comments. https://reviews.llvm.org/D39584 Files: lib/StaticAnalyzer/Core/ExprEngineC.cpp Index:

[PATCH] D39707: [analyzer] assume bitwise arithmetic axioms

2017-11-06 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. Patches the solver to assume that bitwise OR of an unsigned value with a constant always produces a value larger-or-equal than the constant, and bitwise AND with a constant always produces a value less-or-equal

[PATCH] D38986: [Analyzer] Better unreachable message in enumeration

2017-11-01 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin @NoQ so can this be committed? https://reviews.llvm.org/D38986 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D38986: [Analyzer] Better unreachable message in enumeration

2017-11-02 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov abandoned this revision. george.karpenkov added a comment. @dcoughlin OK, I guess you could theoretically come up with a scenario where an error in this code would lead to crashing-while-crashing which would obscure the original error. https://reviews.llvm.org/D38986

[PATCH] D39518: [analyzer] do not crash on libcxx03 call_once implementation

2017-11-02 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 121371. george.karpenkov added a comment. Updated the diff, addressed review concerns. Made it more explicit in comments in tests that we do not crash on libcxx03 implementation, but that we don't model it either. @dcoughlin sorry I disagree on

[PATCH] D39577: [analyzer] [NFC] very minor ExprEngineC refactoring

2017-11-02 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin thanks for accepting quickly, actually the whole file has a very large amount of duplicated code, but I guess we can't do it right now. https://reviews.llvm.org/D39577 ___ cfe-commits mailing list

[PATCH] D39577: [analyzer] [NFC] very minor ExprEngineC refactoring

2017-11-02 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. https://reviews.llvm.org/D39577 Files: lib/StaticAnalyzer/Core/ExprEngineC.cpp Index: lib/StaticAnalyzer/Core/ExprEngineC.cpp === ---

[PATCH] D39518: [analyzer] do not crash on libcxx03 call_once implementation

2017-11-02 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL317293: [analyzer] do not crash on libcxx03 call_once implementation (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39518?vs=121418=121423#toc Repository: rL LLVM

[PATCH] D39518: [analyzer] do not crash on libcxx03 call_once implementation

2017-11-02 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 121418. https://reviews.llvm.org/D39518 Files: lib/Analysis/BodyFarm.cpp test/Analysis/call_once.cpp Index: test/Analysis/call_once.cpp === --- test/Analysis/call_once.cpp +++

[PATCH] D39577: [analyzer] [NFC] very minor ExprEngineC refactoring

2017-11-02 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL317294: [analyzer] [NFC] very minor ExprEngineC refactoring (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39577?vs=121401=121424#toc Repository: rL LLVM

[PATCH] D39584: [analyzer] [NFC] another very minor ExprEngineC refactoring

2017-11-02 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. couldn't resist adding a function here. I think this would be the last one. https://reviews.llvm.org/D39584 Files: lib/StaticAnalyzer/Core/ExprEngineC.cpp Index: lib/StaticAnalyzer/Core/ExprEngineC.cpp

[PATCH] D39620: [analyzer] [NFC] Remove unused typedef

2017-11-06 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL317537: [analyzer] [NFC] Remove unused typedef from SVals.h (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39620?vs=121556=121827#toc Repository: rL LLVM

[PATCH] D39707: [analyzer] assume bitwise arithmetic axioms

2017-11-06 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 121825. https://reviews.llvm.org/D39707 Files: lib/StaticAnalyzer/Core/RangeConstraintManager.cpp test/Analysis/constant-folding.c Index: test/Analysis/constant-folding.c === ---

[PATCH] D39711: [analyzer] ObjCGenerics: Don't warn on cast conversions involving explicit cast

2017-11-06 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:587 if (TrackedType && + !isa(CE) && !ASTCtxt.canAssignObjCInterfaces(DestObjectPtrType, *TrackedType) && Should it check that we are

[PATCH] D39709: [analyzer] [NFC] remove duplicated function

2017-11-06 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. Two copies of `getSymLERange` in `RangeConstraintManager` are virtually identical, which is clearly bad. This patch uses lambdas to call one from another (assuming that we would like to avoid getting ranges

[PATCH] D39707: [analyzer] assume bitwise arithmetic axioms

2017-11-09 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL317820: [analyzer] assume bitwise arithmetic axioms (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39707?vs=122170=122278#toc Repository: rL LLVM

[PATCH] D39862: [analyzer] do not crash when trying to convert an APSInt to an unexpected type

2017-11-09 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. This is the issue breaking the postgresql bot, purely by chance exposed through taint checker, somehow appearing after https://reviews.llvm.org/D38358 got committed. The backstory is that the taint checker

[PATCH] D39862: [analyzer] do not crash when trying to convert an APSInt to an unexpected type

2017-11-09 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL317839: [analyzer] do not crash when trying to convert an APSInt to an unexpected type (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39862?vs=122306=122328#toc

[PATCH] D39584: [analyzer] [NFC] another very minor ExprEngineC refactoring

2017-11-09 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL317849: [analyzer] [NFC] Minor ExprEngineC refactoring (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39584?vs=121814=122345#toc Repository: rL LLVM

[PATCH] D39584: [analyzer] [NFC] another very minor ExprEngineC refactoring

2017-11-08 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin OK to commit? https://reviews.llvm.org/D39584 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D39803: [analyzer] pr34766: Fix a crash on explicit construction of std::initializer_list.

2017-11-08 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. I think I lack context to completely get what is going on here: I assume we don't model the assignment here? Comment at: lib/StaticAnalyzer/Core/ExprEngineC.cpp:533 - if (isa(Init)) { + if (isa(Init) || isa(Init)) { // No work

[PATCH] D39707: [analyzer] assume bitwise arithmetic axioms

2017-11-08 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 122170. george.karpenkov added a comment. Handle non-zero case, more tests cases, cleaner code. https://reviews.llvm.org/D39707 Files: lib/StaticAnalyzer/Core/RangeConstraintManager.cpp test/Analysis/constant-folding.c Index:

[PATCH] D39711: [analyzer] ObjCGenerics: Don't warn on cast conversions involving explicit cast

2017-11-08 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp:587 if (TrackedType && + !isa(CE) && !ASTCtxt.canAssignObjCInterfaces(DestObjectPtrType, *TrackedType) && dcoughlin wrote: > xazax.hun

[PATCH] D39620: [analyzer] [NFC] Remove unused typedef

2017-11-03 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. https://reviews.llvm.org/D39620 Files: include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h Index: include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h

[PATCH] D30691: [analyzer] Support for naive cross translational unit analysis

2017-12-07 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: tools/scan-build-py/libscanbuild/analyze.py:44 +CTU_FUNCTION_MAP_FILENAME = 'externalFnMap.txt' +CTU_TEMP_FNMAP_FOLDER = 'tmpExternalFnMaps' gerazo wrote: > george.karpenkov wrote: > > What would happen when

[PATCH] D30691: [analyzer] Support for naive cross translational unit analysis

2017-12-09 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. Python part looks good to me. I don't know whether @dcoughlin or @NoQ would want to insert additional comments on C++ parts. https://reviews.llvm.org/D30691 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D39220: [Analyzer] Store BodyFarm in std::unique_ptr

2017-10-25 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @dcoughlin OK, I'll commit that [I assuming not doing the review would be fine here] Repository: rL LLVM https://reviews.llvm.org/D39220 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D39220: [Analyzer] Store BodyFarm in std::unique_ptr

2017-10-25 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: include/clang/Analysis/AnalysisDeclContext.h:424 /// methods during the analysis. - BodyFarm *BdyFrm = nullptr; + std::unique_ptr BdyFrm; alexfh wrote: > george.karpenkov wrote: > > alexfh wrote: > > >

[PATCH] D39220: [Analyzer] Store BodyFarm in std::unique_ptr

2017-10-24 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 120109. https://reviews.llvm.org/D39220 Files: include/clang/Analysis/AnalysisDeclContext.h lib/Analysis/AnalysisDeclContext.cpp Index: lib/Analysis/AnalysisDeclContext.cpp ===

[PATCH] D39208: [Analyzer] Do not use static storage to for implementations created in BodyFarm.cpp

2017-10-24 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: cfe/trunk/lib/Analysis/AnalysisDeclContext.cpp:607 +AnalysisDeclContextManager::~AnalysisDeclContextManager() { + if (!BdyFrm) +delete BdyFrm; alexfh wrote: > This is an almost guaranteed memory leak. I

[PATCH] D39015: [Analyzer] Always use non-reference types when creating expressions in BodyFarm, removes std::call_once crash

2017-10-24 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: cfe/trunk/lib/Analysis/BodyFarm.cpp:139 -DeclRefExpr *ASTMaker::makeDeclRefExpr(const VarDecl *D, - bool RefersToEnclosingVariableOrCapture, - bool

[PATCH] D39220: [Analyzer] Store BodyFarm in std::unique_ptr

2017-10-24 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: include/clang/Analysis/AnalysisDeclContext.h:424 /// methods during the analysis. - BodyFarm *BdyFrm = nullptr; + std::unique_ptr BdyFrm; alexfh wrote: > BdyFrm is somewhat cryptic. Maybe Farm, Bodies or

[PATCH] D39220: [Analyzer] Store BodyFarm in std::unique_ptr

2017-10-24 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316536: [Analyzer] Store BodyFarm in std::unique_ptr (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39220?vs=120109=120151#toc Repository: rL LLVM

[PATCH] D39269: [Analyzer] [Tests] Do not discard output from CmpRuns.py when running integration tests

2017-10-24 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, xazax.hun. Contrary to the deleted comment, in most cases CmpRuns.py produces a fairly small amount of output, which is useful to see straight away to see what has changed when executing the integration tests.

[PATCH] D39031: [Analyzer] Correctly handle parameters passed by reference when bodyfarming std::call_once

2017-10-20 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316249: [Analyzer] Correctly handle parameters passed by reference when bodyfarming std… (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39031?vs=119415=119724#toc

[PATCH] D39269: [Analyzer] [Tests] Do not discard output from CmpRuns.py when running integration tests

2017-10-30 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @zaks.anna prints "XXX added / XXX removed" for every report which has appeared or disappeared. https://reviews.llvm.org/D39269 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D39428: [Analyzer] As suggested, use value storage for BodyFarm

2017-10-31 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @xazax.hun I'm really not convinced: george@/Volumes/Transcend/code/llvm (master)≻ rg "\w+\&" tools/clang/include/clang/StaticAnalyzer tools/clang/include/clang/StaticAnalyzer/Core/Checker.h 31: static void _checkDecl(void *checker, const Decl *D,

[PATCH] D39428: [Analyzer] As suggested, use value storage for BodyFarm

2017-10-30 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. Herald added subscribers: szepet, kristof.beyls, xazax.hun, javed.absar, aemerson. I've also removed copy constructor to help clients not to shoot themselves in the foot with `BodyFarm stored = Manager.getBodyFarm()`. https://reviews.llvm.org/D39428

[PATCH] D39428: [Analyzer] As suggested, use value storage for BodyFarm

2017-10-30 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov updated this revision to Diff 120861. https://reviews.llvm.org/D39428 Files: include/clang/Analysis/AnalysisDeclContext.h include/clang/Analysis/BodyFarm.h lib/Analysis/AnalysisDeclContext.cpp Index: lib/Analysis/AnalysisDeclContext.cpp

[PATCH] D39428: [Analyzer] As suggested, use value storage for BodyFarm

2017-10-31 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL317065: [Analyzer] Use value storage for BodyFarm (authored by george.karpenkov). Changed prior to commit: https://reviews.llvm.org/D39428?vs=120861=121098#toc Repository: rL LLVM

[PATCH] D46603: [Support] Print TimeRecord as CSV

2018-05-08 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @lebedev.ri LLVM already has facilities for outputting statistics in JSON, it seems that would be sufficient for your purposes? I did something similar for the static analyzer in https://reviews.llvm.org/D43131 Repository: rL LLVM

[PATCH] D46772: [analyzer] Extend the ObjCAutoreleaseWriteChecker to warn on captures as well

2018-05-14 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC332300: [analyzer] Extend the ObjCAutoreleaseWriteChecker to warn on captures as well (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Repository: rC Clang

  1   2   3   4   5   6   >