File tree Expand file tree Collapse file tree 2 files changed +8
-2
lines changed
Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -672,8 +672,13 @@ SVal CXXConstructorCall::getCXXThisVal() const {
672672
673673void CXXConstructorCall::getExtraInvalidatedValues (ValueList &Values,
674674 RegionAndSymbolInvalidationTraits *ETraits) const {
675- if (Data)
676- Values.push_back (loc::MemRegionVal (static_cast <const MemRegion *>(Data)));
675+ if (Data) {
676+ loc::MemRegionVal MV (static_cast <const MemRegion *>(Data));
677+ if (SymbolRef Sym = MV.getAsSymbol (true ))
678+ ETraits->setTrait (Sym,
679+ RegionAndSymbolInvalidationTraits::TK_SuppressEscape);
680+ Values.push_back (MV);
681+ }
677682}
678683
679684void CXXConstructorCall::getInitialStackFrameContents (
Original file line number Diff line number Diff line change 11// RUN: %clang_analyze_cc1 -analyzer-checker=core,cplusplus.NewDeleteLeaks -verify %s
2+ // RUN: %clang_analyze_cc1 -analyzer-checker=core,cplusplus.NewDeleteLeaks -analyzer-config c++-allocator-inlining=true -verify %s
23
34class A0 {};
45
You can’t perform that action at this time.
0 commit comments