19 lines
378 B
Plaintext
19 lines
378 B
Plaintext
// 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
|