[PATCH] D49438: [analyzer][UninitializedObjectChecker] New flag to turn off dereferencing

2018-08-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. Great, thanks a lot! https://reviews.llvm.org/D49438 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llv

[PATCH] D49438: [analyzer][UninitializedObjectChecker] New flag to turn off dereferencing

2018-08-06 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. > I think what pointer chasing should do, is check whether that pointer owns > the pointee But ownership is a convention, and it's not always deducible from a codebase. I think of those as two separate checks, and I think we should only talk about enabling the

[PATCH] D49438: [analyzer][UninitializedObjectChecker] New flag to turn off dereferencing

2018-08-06 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @Szelethus in any case, could you commit this change for now? I'm very keen on seeing the results on a few of our internal projects, and it's much easier to do that once the change is committed. https://reviews.llvm.org/D49438 __

[PATCH] D50111: [analyzer] Add ASTContext to CheckerManager

2018-08-06 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339079: [analyzer] Add ASTContext to CheckerManager (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://reviews.llvm.org/D50111?vs=158

[PATCH] D15225: [Driver] Sanitizer support based on runtime library presence

2018-08-07 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @rnk As discussed, would it be acceptable for you to just have empty sanitizer runtime files in the resource directory? Repository: rL LLVM https://reviews.llvm.org/D15225 ___ cfe-commits mailing list cfe-commit

[PATCH] D50408: [analyzer] Avoid querying this-pointers for static-methods.

2018-08-07 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a reviewer: NoQ. george.karpenkov added a subscriber: NoQ. george.karpenkov added a comment. Looks reasonable. @NoQ any further comments? https://reviews.llvm.org/D50408 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D50523: [analyzer] Fix the bug in UninitializedObjectChecker caused by not handling block pointers

2018-08-09 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339369: [analyzer] Fix the bug in UninitializedObjectChecker caused by not handling… (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https

[PATCH] D50488: [Analyzer] Checker for non-determinism caused by sorting of pointer-like keys

2018-08-10 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. All the comments above + if anything, should use ASTMatchers. Repository: rC Clang https://reviews.llvm.org/D50488 _

[PATCH] D50504: [analyzer][UninitializedObjectChecker] Refactoring p2.: Moving pointer chasing to a separate file

2018-08-10 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. Overall: great! Thank you for following this direction! However, to avoid clutter, could we put all the checker files into a separate folder, like MPI-Checker?

[PATCH] D50506: [analyzer][UninitializedObjectChecker] Refactoring p4.: Wrap FieldRegions and reduce weight on FieldChainInfo

2018-08-10 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. OK. I'm not a fan of inheritance hierarchies in general (especially if you only have two cases) but OK if it makes your life easier. Repository: rC Clang https://review

[PATCH] D50509: [analyzer][UninitializedObjectChecker] Refactoring p6.: Move dereferencing to a function

2018-08-10 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: lib/StaticAnalyzer/Checkers/UninitializedPointee.cpp:78 +/// If for whatever reason dereferencing fails, returns with false. +st

[PATCH] D49722: [CStringSyntaxChecker] Check strlcat sizeof check

2018-08-10 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp:164 + // - sizeof(dst) + if (Append && isSizeof(LenArg, DstArg)) +return true; george.karpenkov wrote: > I am confused on what is happening in this bran

[PATCH] D49722: [CStringSyntaxChecker] Check strlcat sizeof check

2018-08-10 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: lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp:164 + // - sizeof(dst) + if (Append && isSizeof(LenArg, DstArg)) +ret

[PATCH] D50545: [analyzer] [NFC] [tests] Move plist-based diagnostics tests to separate files, use diff instead of a FileCheck

2018-08-10 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339475: [analyzer] [NFC] [tests] Move plist-based diagnostics tests to separate files… (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: ht

[PATCH] D50124: [analyzer] Record nullability implications on getting items from NSDictionary

2018-08-10 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339482: [analyzer] Record nullability implications on getting items from NSDictionary (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: http

[PATCH] D50595: [analyzer] Fix keyboard navigation for .msgNote events

2018-08-10 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339493: [analyzer] Fix keyboard navigation for .msgNote events (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://reviews.llvm.org/D5

[PATCH] D50594: [analyzer] [NFC] Introduce separate targets for testing the analyzer: check-clang-analyzer and check-clang-analyzer-z3

2018-08-13 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339629: [analyzer] [NFC] Introduce separate targets for testing the analyzer: check… (authored by george.karpenkov, committed by ). Changed prior to commit: https://reviews.llvm.org/D50594?vs=160388&id=

[PATCH] D50673: [analyzer] Fix UninitializedObjectChecker to not crash on uninitialized "id" fields

2018-08-13 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC339631: [analyzer] Fix UninitializedObjectChecker to not crash on uninitialized "id"… (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: htt

[PATCH] D50594: [analyzer] [NFC] Introduce separate targets for testing the analyzer: check-clang-analyzer and check-clang-analyzer-z3

2018-08-14 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added subscribers: dcoughlin, bogner, NoQ, vlad.tsyrklevich. george.karpenkov added a comment. Yes, investigating. Will rollback if not fixed in a few hours. Repository: rC Clang https://reviews.llvm.org/D50594 ___ cfe-commits ma

[PATCH] D50594: [analyzer] [NFC] Introduce separate targets for testing the analyzer: check-clang-analyzer and check-clang-analyzer-z3

2018-08-14 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. Should be fixed now. Repository: rC Clang https://reviews.llvm.org/D50594 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D49074: [Analyzer] [WIP] Basic support for multiplication and division in the constraint manager

2018-08-14 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @baloghadamsoftware @xazax.hun we've had very promising results with using Z3 for refutation so far, almost at no cost, see Mikhail's recent email on cfe-dev (and sometimes at a negative cost!). Do you still not want to try it first? False negatives could be add

[PATCH] D50830: [analyzer] [NFC] Split up summary generation in RetainCountChecker in two methods

2018-08-17 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340093: [analyzer] [NFC] Split up summary generation in RetainCountChecker in two… (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https:/

[PATCH] D50863: [analyzer] [NFC] Move canEval function from RetainCountChecker to RetainCountSummaries

2018-08-17 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340094: [analyzer] [NFC] Move canEval function from RetainCountChecker to… (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://reviews

[PATCH] D50869: [analyzer] [NFC] Move ObjCRetainCount to include/Analysis

2018-08-17 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340096: [analyzer] [NFC] Move ObjCRetainCount to include/Analysis (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://reviews.llvm.org

[PATCH] D50879: [analyzer] [NFC] Minor refactoring of ISL-specific code in RetainCountChecker

2018-08-17 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340098: [analyzer] [NFC] Minor refactoring of ISL-specific code in RetainCountChecker (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: http

[PATCH] D50866: [analyzer] CFRetainReleaseChecker: Avoid checking C++ methods with the same name.

2018-08-20 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp:537 + mutable APIMisuse BT{this, "null passed to CF memory management function"}; + CallDescription CFRetain{"CFRetain", 1}, + CFRelease{"CFRelease", 1

[PATCH] D50855: [analyzer] pr37578: Fix lvalue/rvalue problem in field-of-temporary adjustments.

2018-08-21 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. looks good apart from minor nits Comment at: include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h:744 + const Expr *InitWithAdjustm

[PATCH] D51072: [analyzer] [NFC] Fix minor formatting issues in RetainCountChecker

2018-08-21 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340378: [analyzer] [NFC] Fix minor formatting issues in RetainCountChecker (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://reviews

[PATCH] D51072: [analyzer] [NFC] Fix minor formatting issues in RetainCountChecker

2018-08-21 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL340378: [analyzer] [NFC] Fix minor formatting issues in RetainCountChecker (authored by george.karpenkov, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://review

[PATCH] D51130: [analyzer] [NFC] Minor refactoring of BugReporterVisitors

2018-08-22 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340473: [analyzer] [NFC] Minor refactoring of BugReporterVisitors (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://reviews.llvm.org

[PATCH] D51131: [analyzer] Track non-zero values in ReturnVisitor

2018-08-22 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340475: [analyzer] Track non-zero values in ReturnVisitor (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://reviews.llvm.org/D51131?

[PATCH] D51139: [analyzer] Track the problematic subexpression in UndefResultChecker

2018-08-22 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340474: [analyzer] Track the problematic subexpression in UndefResultChecker (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://revie

[PATCH] D50109: [NFC] Add tags file to .gitignore

2018-08-22 Thread George Karpenkov via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340479: [NFC] Add tags file to .gitignore (authored by george.karpenkov, committed by ). Herald added a subscriber: cfe-commits. Changed prior to commit: https://reviews.llvm.org/D50109?vs=162099&id=162

[PATCH] D49722: [CStringSyntaxChecker] Check strlcat sizeof check

2018-08-22 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov reopened this revision. george.karpenkov added a comment. This revision is now accepted and ready to land. This is not correct, `strlcat(dest, "mystr", sizeof(dest))` is perfectly fine, as can be seen in many examples including strlcat man page. Repository: rL LLVM https://r

[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 https://reviews.llvm.org/D

[PATCH] D46633: [analyzer] add range check for InitList lookup

2018-05-09 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. Looks good, thanks! Repository: rL LLVM https://reviews.llvm.org/D46633 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[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 https:/

[PATCH] D46902: [analyzer] Make plist-html multi-file.

2018-05-15 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! with stable-filename option we could even avoid the regexp. Repository: rC Clang https://reviews.llvm.org/D46902 ___

[PATCH] D46603: [Support] TimerGroup changes

2018-05-15 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. I see four separate changes: s/.sys/mem one (can be committed without review), exposing printJSONValues and consequent adding of a lock, adding a constructor accepting a map, and fixing formatting in `printJSONValue`. All four look good to me, but probably shou

[PATCH] D46937: [Timers] TimerGroup::printJSONValue(): print doubles with no precision loss

2018-05-16 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 Repository: rL LLVM https://reviews.llvm.org/D46937 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://li

[PATCH] D46603: [Support] TimerGroup changes

2018-05-16 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. > Not sure yet whether i will land them right away, or wait for clang-tidy part. I think it's better to land, as otherwise you risk merge conflicts, and implicit conflicts (git reports no errors, but the resulting code is bad) can be very annoying. Repository

[PATCH] D47007: [Sanitizer] CStringChecker fix for strlcpy when no bytes are copied to the dest buffer

2018-05-17 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. Is it a fix for https://bugs.llvm.org/show_bug.cgi?id=37503 ? Repository: rC Clang https://reviews.llvm.org/D47007 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/lis

[PATCH] D47155: [analyzer] Reduce simplifySVal complexity threshold further.

2018-05-21 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @NoQ I'm really wary of magic numbers. - We should expose it through an analyzer-config flag. We already do so for the budget. - We should probably have both positive and negative tests. What scenarios _stop_ working after the threshold is decreased? [point 1 i

[PATCH] D47135: [analyzer][WIP] A checker for dangling string pointers in C++

2018-05-21 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Checkers/DanglingStringPointerChecker.cpp:29 + +class DanglingStringPointerChecker : public Checker { + CallDescription CStrFn; "string" is a bit ambiguous, if this checker is specifically fo

[PATCH] D47155: [analyzer] Reduce simplifySVal complexity threshold further.

2018-05-21 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. Also we should make sure that all recursive transformations on expressions represented as DAGs should be memoized. Repository: rC Clang https://reviews.llvm.org/D47155 ___ cfe-commits mailing list cfe-commits@li

[PATCH] D47303: [analyzer] NFC: Merge object construction related state traits into one.

2018-05-23 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. Definitely looks much cleaner, some nits inline. Can we protect against API misuse? Comment at: include/clang/StaticAnalyzer/Core/PathSensitive

[PATCH] D47402: [analyzer] Improve simplifySVal performance further.

2018-05-25 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. @NoQ we should make sure the memory is not exploding and that we don't make the analyzer slower in other cases. Though we could commit this, and then let CI figure out potential regressions. Repository: rC Clang https://reviews.llvm.org/D47402 __

[PATCH] D45517: [analyzer] False positive refutation with Z3

2018-05-28 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added a comment. Please resubmit with -U999 diff flag (or using arc) Comment at: include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:362 +class FalsePositiveRefutationBRVisitor final +: public BugReporterVisitorImpl { Can

[PATCH] D45517: [analyzer] False positive refutation with Z3

2018-05-29 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: test/Analysis/z3-crosscheck.c:2 +// RUN: %clang_cc1 -analyze -analyzer-checker=core,unix.Malloc,debug.ExprInspection -analyzer-config crosscheck-with-z3=true -verify %s +// REQUIRES: z3 +// expected-no-diagnostics

[PATCH] D45517: [analyzer] False positive refutation with Z3

2018-05-29 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Core/BugReporter.cpp:3153 +if (getAnalyzerOptions().shouldCrosscheckWithZ3()) + R->addVisitor(llvm::make_unique()); + Unless I'm mistaken, visitors are run in the order they are being

[PATCH] D45517: [analyzer] False positive refutation with Z3

2018-05-29 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h:496 std::unique_ptr ConstraintMgr; + std::unique_ptr RefutationMgr; See the comment below, I think we should not have this manager here. J

[PATCH] D45517: [analyzer] False positive refutation with Z3

2018-05-29 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov added inline comments. Comment at: lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp:1267 + +Z3Expr Constraints = Z3Expr::fromBoolean(false); + george.karpenkov wrote: > almost certainly a bug, we shouldn't default to unfeasible when the list o

[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 a

[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 +++ utils/analyzer/SATestBuild

[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] 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&id=117848#toc Repository

[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&id=118294#toc Repository:

[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 tes

[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] 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 lib/StaticAnalyzer/Checkers/CMakeLists.

[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 lib/StaticAnalyzer/Checkers/NonnullStringConstantsChecker.

[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-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 lib/StaticAnalyzer/Checkers/NonnullStringConstantsChe

[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&id=118660#toc Repository: rL L

[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&id=118686#toc Repos

[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 running

[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 cf

[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 list

[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 Swift)

[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&id=118979#toc Repository: rL LLVM h

[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] 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 a

[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 +++ test

[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&id=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 d

[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&id=119724#toc

[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] 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 lib/Analys

[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 http://

[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 wer

[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&id=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 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&id=119975#toc Repo

[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 (http://lab.llvm.org:8011/builders/sanitizer-x8

[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 llvm_unreachable(

[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 thi

[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&id=120151#toc Repository: rL LLVM https://revi

[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 Ge

[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. https://re

[PATCH] D51393: Provide a method for generating deterministic IDs for pointers allocated in BumpPtrAllocator

2018-08-28 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. george.karpenkov added reviewers: NoQ, bogner, chandlerc, zturner, aprantl. Herald added a subscriber: mgrang. There are many "dumping" actions available from the compiler: Clang dumps AST, Clang static analyzer dumps generated nodes in the "exploded graph"

[PATCH] D51395: [analyzer] Dump a reproducible, deterministic ID of program state to exploded graph

2018-08-28 Thread George Karpenkov via Phabricator via cfe-commits
george.karpenkov created this revision. george.karpenkov added reviewers: dcoughlin, NoQ. Herald added subscribers: Szelethus, mikhail.ramalho, a.sidorin, mgrang, szepet, baloghadamsoftware, xazax.hun. https://reviews.llvm.org/D51395 Files: clang/include/clang/StaticAnalyzer/Core/PathSensitive

  1   2   3   4   5   6   >