[all-commits] [llvm/llvm-project] f1b18a: [analyzer][NFC] Remove dead code and modernize sur...

Balazs Benics via All-commits all-commits at lists.llvm.org
Wed Jun 15 07:50:43 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f1b18a79b7f4c81ef67e83f5d1a02ded139df02d
  Author: Balazs Benics <balazs.benics at sigmatechnology.se>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
    M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
    M clang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Iterator.h
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/SmartPtrModeling.cpp
    M clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp

  Log Message:
  [analyzer][NFC] Remove dead code and modernize surroundings

Thanks @kazu for helping me clean these parts in D127799.

I'm leaving the dump methods, along with the unused visitor handlers and
the forwarding methods.

The dead parts actually helped to uncover two bugs, to which I'm going
to post separate patches.

Reviewed By: martong

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

  Commit: 6c4f9998ae383d69e97a0d977585f2cb55ff92ed
  Author: Balazs Benics <balazs.benics at sigmatechnology.se>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp

  Log Message:
  [analyzer] Fix StreamErrorState hash bug

The `Profile` function was incorrectly implemented.
The `StreamErrorState` has an implicit `bool` conversion operator, which
will result in a different hash than faithfully hashing the raw value of
the enum.

I don't have a test for it, since it seems difficult to find one.
Even if we would have one, any change in the hashing algorithm would
have a chance of breaking it, so I don't think it would justify the

Depends on D127836, which uncovered this issue by marking the related
`Profile` function dead.

Reviewed By: martong, balazske

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

  Commit: 481f8603246c725a27f937ec5fde4d68fa4584ae
  Author: Balazs Benics <balazs.benics at sigmatechnology.se>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp

  Log Message:
  [analyzer][NFC] Remove dead field of UnixAPICheckers

Initially, I thought there is some fundamental bug here by not using the
bool fields, but it turns out D55425 split this checker into two
separate ones; making these fields dead.

Depends on D127836, which uncovered this issue.

Reviewed By: martong

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

Compare: https://github.com/llvm/llvm-project/compare/575c9d6d4a20...481f8603246c

More information about the All-commits mailing list