Currently, we emit a "unsupported l-value" error for the lambda expression in the following:
@interface X
@property void (*fnptr)();
@end
void f(X *x) {
x.fnptr = [] {};
}This is a regression introduced in rC351487, which prevents clang from emitting lambdas in EmitLValue. This is needed though to support cases where a lambda appears as an OpaqueValueExpr of a PseudoObjectExpr.
rdar://49030379