This is an archive of the discontinued LLVM Phabricator instance.

[analyzer] Re-enable C++17-specific variable and member variable construction contexts.
ClosedPublic

Authored by NoQ on May 24 2018, 4:53 PM.

Details

Summary

The recent refactoring allows us to easily support C++17 "copy-elided" constructor syntax for variables and constructor-initializers. Similar constructors for return values are still to be supported.

In particular, the change of using path-sensitive state traits made our liveness problems go away. The elision_on_ternary_op_branches test was failing without that.

D47350 allowed us to support the C++17 destructor in testCtorInitializer().

Diff Detail

Repository
rC Clang