Files
clang-p2996/clang/test/SemaCXX/lambda-invalid-capture.cpp
Jorge Gorbe Moya 59974412a4 Mark lambda decl as invalid if a captured variable has an invalid type.
This causes the compiler to crash when trying to compute a layout for
the lambda closure type (see included test).

llvm-svn: 347402
2018-11-21 17:49:37 +00:00

19 lines
352 B
C++

// RUN: %clang_cc1 -fsyntax-only -verify %s
// Don't crash.
struct g {
j; // expected-error {{C++ requires a type specifier for all declarations}}
};
void captures_invalid_type() {
g child;
auto q = [child]{};
const int n = sizeof(q);
}
void captures_invalid_array_type() {
g child[100];
auto q = [child]{};
const int n = sizeof(q);
}