HomePhabricator

[analyzer] Fix invalidation when returning into a ctor initializer.

Authored by dergachev.a on Jul 1 2019, 4:02 PM.

Description

[analyzer] Fix invalidation when returning into a ctor initializer.

Due to RVO the target region of a function that returns an object by
value isn't necessarily a temporary object region; it may be an
arbitrary memory region. In particular, it may be a field of a bigger
object.

Make sure we don't invalidate the bigger object when said function is
evaluated conservatively.

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

llvm-svn: 364870