diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index 348f29638e02..dfaa4503ff28 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -6545,6 +6545,8 @@ public: ExprResult TransformLambdaExpr(LambdaExpr *E) { return Owned(E); } + ExprResult TransformBlockExpr(BlockExpr *E) { return Owned(E); } + ExprResult Transform(Expr *E) { ExprResult Res; while (true) { diff --git a/clang/test/SemaCXX/typo-correction-blocks.c b/clang/test/SemaCXX/typo-correction-blocks.c new file mode 100644 index 000000000000..300a5be3969d --- /dev/null +++ b/clang/test/SemaCXX/typo-correction-blocks.c @@ -0,0 +1,12 @@ +// RUN: %clang_cc1 -triple i386-apple-macosx -fblocks -fsyntax-only -verify %s + +extern int h(int *); +extern void g(int, void (^)(void)); +extern int fuzzys; // expected-note {{'fuzzys' declared here}} + +static void f(void *v) { + g(fuzzy, ^{ // expected-error {{did you mean 'fuzzys'}} + int i = h(v); + }); +} +