[all-commits] [llvm/llvm-project] 8a1332: [analyzer] ArrayInitLoopExpr with array of non-POD...

isuckatcs via All-commits all-commits at lists.llvm.org
Tue Jul 26 00:07:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8a13326d184c2829a51d7c00f467ded06412f858
      https://github.com/llvm/llvm-project/commit/8a13326d184c2829a51d7c00f467ded06412f858
  Author: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
  Date:   2022-07-26 (Tue, 26 Jul 2022)

  Changed paths:
    M clang/include/clang/Analysis/ConstructionContext.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/test/Analysis/array-init-loop.cpp
    M clang/test/Analysis/ctor.mm
    M clang/test/Analysis/uninit-structured-binding-array.cpp

  Log Message:
  -----------
  [analyzer] ArrayInitLoopExpr with array of non-POD type

This patch introduces the evaluation of ArrayInitLoopExpr
in case of structured bindings and implicit copy/move
constructor. The idea is to call the copy constructor for
every element in the array. The parameter of the copy
constructor is also manually selected, as it is not a part
of the CFG.

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




More information about the All-commits mailing list