[all-commits] [llvm/llvm-project] 6f5431: [analyzer][RetainCount] Remove the CheckOSObject o...
    Kristóf Umann via All-commits 
    all-commits at lists.llvm.org
       
    Tue May 26 04:23:29 PDT 2020
    
    
  
  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6f5431846bbf3270d8fc605324e8843c5aaf579b
      https://github.com/llvm/llvm-project/commit/6f5431846bbf3270d8fc605324e8843c5aaf579b
  Author: Kirstóf Umann <dkszelethus at gmail.com>
  Date:   2020-05-26 (Tue, 26 May 2020)
  Changed paths:
    M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
    M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
    M clang/test/Analysis/analyzer-config.c
    M clang/test/Analysis/test-separate-retaincount.cpp
  Log Message:
  -----------
  [analyzer][RetainCount] Remove the CheckOSObject option
As per http://lists.llvm.org/pipermail/cfe-dev/2019-August/063215.html, lets get rid of this option.
It presents 2 issues that have bugged me for years now:
* OSObject is NOT a boolean option. It in fact has 3 states:
  * osx.OSObjectRetainCount is enabled but OSObject it set to false: RetainCount
    regards the option as disabled.
  * sx.OSObjectRetainCount is enabled and OSObject it set to true: RetainCount
    regards the option as enabled.
  * osx.OSObjectRetainCount is disabled: RetainCount regards the option as
    disabled.
* The hack involves directly modifying AnalyzerOptions::ConfigTable, which
  shouldn't even be public in the first place.
This still isn't really ideal, because it would be better to preserve the option
and remove the checker (we want visible checkers to be associated with
diagnostics, and hidden options like this one to be associated with changing how
the modeling is done), but backwards compatibility is an issue.
Differential Revision: https://reviews.llvm.org/D78097
    
    
More information about the All-commits
mailing list