[all-commits] [llvm/llvm-project] daa316: [clang][dataflow] Fix bug in joining bool values.

Yitzhak Mandelbaum via All-commits all-commits at lists.llvm.org
Thu Jan 19 07:59:41 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: daa316bcaf717e1dacdfee443f2c325a783d2c70
      https://github.com/llvm/llvm-project/commit/daa316bcaf717e1dacdfee443f2c325a783d2c70
  Author: Yitzhak Mandelbaum <yitzhakm at google.com>
  Date:   2023-01-19 (Thu, 19 Jan 2023)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix bug in joining bool values.

Currently, the code assumes that all boolean-typed values are an instance of
`BoolValue` (or its subclasses). Yet, lvalues violate this assumption. This
patch drops the assumption and strengthens the check to confirm the shape of
both values being joined.

The patch also notes as FIXMES a number of problems discovered fixing this bug.

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




More information about the All-commits mailing list