[all-commits] [llvm/llvm-project] 058f38: [analyzer] Correctly propagate ConstructionContext...

tomasz-kaminski-sonarsource via All-commits all-commits at lists.llvm.org
Mon May 24 01:20:59 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 058f384ae94ae0ac94441043804e4a25d338d483
      https://github.com/llvm/llvm-project/commit/058f384ae94ae0ac94441043804e4a25d338d483
  Author: Tomasz KamiƄski <tomasz.kaminski at sonarsource.com>
  Date:   2021-05-24 (Mon, 24 May 2021)

  Changed paths:
    M clang/lib/Analysis/CFG.cpp
    M clang/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist
    M clang/test/Analysis/NewDelete-checker-test.cpp
    M clang/test/Analysis/NewDelete-path-notes.cpp
    M clang/test/Analysis/NewDeleteLeaks-PR19102.cpp

  Log Message:
  -----------
  [analyzer] Correctly propagate ConstructionContextLayer thru ParenExpr

Previously, information about `ConstructionContextLayer` was not
propagated thru causing the expression like:

  Var c = (createVar());

To produce unrelated temporary for the `createVar()` result and conjure
a new symbol for the value of `c` in C++17 mode.

Reviewed By: steakhal

Patch By: tomasz-kaminski-sonarsource!

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




More information about the All-commits mailing list