From 34b49061aad6d57c60d5bb15ad1cc44ff3968ae7 Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Thu, 26 Jan 2012 03:00:14 +0000 Subject: Refactor to share code for handling return statements between lambda expressions and block literals. As it turns out, almost all the logic can be shared. llvm-svn: 149031 --- clang/test/SemaCXX/lambda-expressions.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'clang/test/SemaCXX/lambda-expressions.cpp') diff --git a/clang/test/SemaCXX/lambda-expressions.cpp b/clang/test/SemaCXX/lambda-expressions.cpp index 9411c34ec8d..db934c3ab77 100644 --- a/clang/test/SemaCXX/lambda-expressions.cpp +++ b/clang/test/SemaCXX/lambda-expressions.cpp @@ -52,3 +52,16 @@ namespace ExplicitCapture { [this] () {}; // expected-error {{invalid use of 'this'}} expected-error {{not supported yet}} } } + +namespace ReturnDeduction { + void test() { + [](){ return 1; }; // expected-error {{not supported yet}} + [](){ return 1; }; // expected-error {{not supported yet}} + [](){ return ({return 1; 1;}); }; // expected-error {{not supported yet}} + [](){ return ({return 'c'; 1;}); }; // expected-error {{not supported yet}} expected-error {{must match previous return type}} + []()->int{ return 'c'; return 1; }; // expected-error {{not supported yet}} + [](){ return 'c'; return 1; }; // expected-error {{not supported yet}} expected-error {{must match previous return type}} + // FIXME: Need to check structure of lambda body + [](){ return 1; return 1; }; // expected-error {{not supported yet}} + } +} -- cgit v1.2.3