[all-commits] [llvm/llvm-project] 905b40: [Analyzer][CFG] Correctly handle rebuilt default a...

yronglin via All-commits all-commits at lists.llvm.org
Thu May 23 08:27:27 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 905b402a5d8f1490d668f40942390ebd6e87aa8f
      https://github.com/llvm/llvm-project/commit/905b402a5d8f1490d668f40942390ebd6e87aa8f
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-05-23 (Thu, 23 May 2024)

  Changed paths:
    M clang/lib/AST/ParentMap.cpp
    M clang/lib/Analysis/CFG.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/Analysis/cxx-uninitialized-object.cpp
    M clang/test/Analysis/lifetime-extended-regions.cpp

  Log Message:
  -----------
  [Analyzer][CFG] Correctly handle rebuilt default arg and default init expression (#91879)

Depends on https://github.com/llvm/llvm-project/pull/92527

Clang now support the following:
- Extending lifetime of object bound to reference members of aggregates,
that are created from default member initializer.
- Rebuild `CXXDefaultArgExpr` and `CXXDefaultInitExpr` as needed where
called or constructed.

But CFG and ExprEngine need to be updated to address this change.

This PR add `CXXDefaultArgExpr` and `CXXDefaultInitExpr` into CFG, and
correct handle these expressions in ExprEngine

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list