[all-commits] [llvm/llvm-project] 5b08e4: [analyzer] NFC: Store the pointee/referenced type ...

Balogh, Ádám via All-commits all-commits at lists.llvm.org
Fri Aug 28 02:34:48 PDT 2020


  Branch: refs/heads/release/11.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 5b08e498cd35b05a937d6afd5cc20bde90822a29
      https://github.com/llvm/llvm-project/commit/5b08e498cd35b05a937d6afd5cc20bde90822a29
  Author: Adam Balogh <adam.balogh at ericsson.com>
  Date:   2020-08-28 (Fri, 28 Aug 2020)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
    M clang/lib/StaticAnalyzer/Core/DynamicType.cpp
    M clang/test/Analysis/cast-value-state-dump.cpp

  Log Message:
  -----------
  [analyzer] NFC: Store the pointee/referenced type for dynamic type tracking.

The successfulness of a dynamic cast depends only on the C++ class, not the pointer or reference. Thus if *A is a *B, then &A is a &B,
const *A is a const *B etc. This patch changes DynamicCastInfo to store
and check the cast between the unqualified pointed/referenced types.
It also removes e.g. SubstTemplateTypeParmType from both the pointer
and the pointed type.

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

(cherry picked from commit 5a9e7789396e7618c1407aafc329e00584437a2f)


  Commit: 22bce848a0b27b5ce7ef1e086054522a39c70651
      https://github.com/llvm/llvm-project/commit/22bce848a0b27b5ce7ef1e086054522a39c70651
  Author: Adam Balogh <adam.balogh at ericsson.com>
  Date:   2020-08-28 (Fri, 28 Aug 2020)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp
    M clang/test/Analysis/Inputs/llvm.h
    M clang/test/Analysis/cast-value-logic.cpp
    M clang/test/Analysis/cast-value-notes.cpp

  Log Message:
  -----------
  [analyzer] pr47037: CastValueChecker: Support for the new variadic isa<>.

llvm::isa<>() and llvm::isa_and_not_null<>() template functions recently became
variadic. Unfortunately this causes crashes in case of isa_and_not_null<>()
and incorrect behavior in isa<>(). This patch fixes this issue.

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

(cherry picked from commit 4448affede5100658530aea8793ae7a7bc05a110)


Compare: https://github.com/llvm/llvm-project/compare/e37a52fe9212...22bce848a0b2


More information about the All-commits mailing list