[all-commits] [llvm/llvm-project] 09a1f0: [analyzer] Do not report NSError null dereference ...

NoQ via All-commits all-commits at lists.llvm.org
Mon Apr 20 02:46:05 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 09a1f090509eb5971ade7089330008c6e4024d30
      https://github.com/llvm/llvm-project/commit/09a1f090509eb5971ade7089330008c6e4024d30
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2020-04-20 (Mon, 20 Apr 2020)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
    M clang/test/Analysis/CheckNSError.m

  Log Message:
  -----------
  [analyzer] Do not report NSError null dereference for _Nonnull params.

We want to trust user type annotations and stop assuming pointers declared
as _Nonnull still can be null. This functionality is implemented as part
of NullabilityChecker as it already tracks non-null types.

Patch by Valeriy Savchenko!

Differential Revision: https://reviews.llvm.org/D77722


  Commit: 1f67508b7fedb3a0c8ea55a1f5674346563e2bf2
      https://github.com/llvm/llvm-project/commit/1f67508b7fedb3a0c8ea55a1f5674346563e2bf2
  Author: Valeriy Savchenko <vsavchenko at apple.com>
  Date:   2020-04-20 (Mon, 20 Apr 2020)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
    M clang/test/Analysis/CheckNSError.m
    A clang/test/Analysis/UserNullabilityAnnotations.m
    A clang/test/Analysis/nonnull.cpp

  Log Message:
  -----------
  [analyzer] Do not report CFError null dereference for nonnull params.

We want to trust user type annotations and stop assuming pointers declared
as nonnull still can be null. This functionality is implemented as part
of NonNullParamChecker because it already checks parameter attributes.
Whenever we start analyzing a new function, we assume that all parameters
with 'nonnull' attribute are indeed non-null.

Patch by Valeriy Savchenko!

Differential Revision: https://reviews.llvm.org/D77806


Compare: https://github.com/llvm/llvm-project/compare/fa284e136e1b...1f67508b7fed


More information about the All-commits mailing list