diff options
| author | Artem Dergachev <artem.dergachev@gmail.com> | 2018-04-25 23:02:06 +0000 |
|---|---|---|
| committer | Artem Dergachev <artem.dergachev@gmail.com> | 2018-04-25 23:02:06 +0000 |
| commit | 310bca01781bff0d71c2d69a952b3a7bd6b6ef2a (patch) | |
| tree | 3837d95a2816d6648794c0ff5199ed4e5176ae92 /libcxx/include/__std_stream | |
| parent | 0bf96f933a0cae717d8311785db8485aeacabf1b (diff) | |
| download | bcm5719-llvm-310bca01781bff0d71c2d69a952b3a7bd6b6ef2a.tar.gz bcm5719-llvm-310bca01781bff0d71c2d69a952b3a7bd6b6ef2a.zip | |
[analyzer] Fix a crash on lifetime extension through aggregate initialization.
If 'A' is a C++ aggregate with a reference field of type 'C', in code like
A a = { C() };
C() is lifetime-extended by 'a'. The analyzer wasn't expecting this pattern and
crashing. Additionally, destructors aren't added in the CFG for this case,
so for now we shouldn't be inlining the constructor for C().
Differential Revision: https://reviews.llvm.org/D46037
llvm-svn: 330882
Diffstat (limited to 'libcxx/include/__std_stream')
0 files changed, 0 insertions, 0 deletions

