[all-commits] [llvm/llvm-project] 478259: [clang][dataflow] Add a test for not explicitly in...

martinboehme via All-commits all-commits at lists.llvm.org
Mon Jul 17 00:26:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4782597e3cd1b26cf8bd437e36fd6320f55d3d89
      https://github.com/llvm/llvm-project/commit/4782597e3cd1b26cf8bd437e36fd6320f55d3d89
  Author: Martin Braenne <mboehme at google.com>
  Date:   2023-07-17 (Mon, 17 Jul 2023)

  Changed paths:
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Add a test for not explicitly initialized fields in aggregate initialization.

Reviewed By: ymandel

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


  Commit: 6d768548ecc0ca37026986f397392c1d0ace9736
      https://github.com/llvm/llvm-project/commit/6d768548ecc0ca37026986f397392c1d0ace9736
  Author: Martin Braenne <mboehme at google.com>
  Date:   2023-07-17 (Mon, 17 Jul 2023)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp

  Log Message:
  -----------
  [clang][dataflow] Add `DataflowEnvironment::createObject()`.

This consolidates the code used in various places to initialize objects (usually for variables) into one central location.

It will also help reduce the number of changes needed when we make the upcoming API changes to `AggregateStorageLocation` and `StructValue`.

Depends On D155074

Reviewed By: ymandel, xazax.hun

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


  Commit: 243a79ca01f8142a8d8c9873ba58fefdafa48745
      https://github.com/llvm/llvm-project/commit/243a79ca01f8142a8d8c9873ba58fefdafa48745
  Author: Martin Braenne <mboehme at google.com>
  Date:   2023-07-17 (Mon, 17 Jul 2023)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp

  Log Message:
  -----------
  [clang][dataflow] Simplify implementation of `transferStdForwardCall()` in optional check.

The argument and return value of `std::forward` is always a reference, so we can simply forward the storage location.

Depends On D155075

Reviewed By: ymandel, gribozavr2, xazax.hun

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


  Commit: d17f455a6348806c73641e742af08b0a974e13d5
      https://github.com/llvm/llvm-project/commit/d17f455a6348806c73641e742af08b0a974e13d5
  Author: Martin Braenne <mboehme at google.com>
  Date:   2023-07-17 (Mon, 17 Jul 2023)

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

  Log Message:
  -----------
  [clang][dataflow] Add `refreshStructValue()`.

Besides being a useful abstraction, this function will help insulate existing clients of the framework from upcoming changes to the API of `StructValue` and `AggregateStorageLocation`.

Depends On D155202

Reviewed By: ymandel, xazax.hun

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


Compare: https://github.com/llvm/llvm-project/compare/c6bd873403a8...d17f455a6348


More information about the All-commits mailing list