// RUN: %clang_analyze_cc1 -analyzer-checker=core -fblocks -verify %s | |
// expected-no-diagnostics | |
namespace block_rvo_crash { | |
struct A {}; | |
A getA(); | |
void use(A a) {} | |
void foo() { | |
// This used to crash when finding construction context for getA() | |
// (which is use()'s argument due to RVO). | |
use(^{ | |
return getA(); // no-crash | |
}()); | |
} | |
} // namespace block_rvo_crash |