On Wed, Feb 15, 2012 at 8:20 AM, Douglas Gregor <[email protected]> wrote:
> Author: dgregor > Date: Wed Feb 15 10:20:15 2012 > New Revision: 150586 > > URL: http://llvm.org/viewvc/llvm-project?rev=150586&view=rev > Log: > Specialize noreturn diagnostics for lambda expressions. > > Modified: > cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td > cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp > cfe/trunk/lib/Sema/SemaStmt.cpp > cfe/trunk/test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp > cfe/trunk/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp > cfe/trunk/test/CXX/expr/expr.prim/expr.prim.lambda/templates.cpp > > Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=150586&r1=150585&r2=150586&view=diff > > ============================================================================== > --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original) > +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Wed Feb 15 > 10:20:15 2012 > @@ -4045,6 +4045,14 @@ > def ext_lambda_default_arguments : ExtWarn< > "C++11 forbids default arguments for lambda expressions">, > InGroup<LambdaExtensions>; > + def err_noreturn_lambda_has_return_expr : Error< > + "lambda declared 'noreturn' should not return">; > + def warn_maybe_falloff_nonvoid_lambda : Warning< > + "control may reach end of non-void lambda">, > + InGroup<ReturnType>; > + def warn_falloff_nonvoid_lambda : Warning< > + "control reaches end of non-void lambda">, > + InGroup<ReturnType>; > } > > def err_operator_arrow_circular : Error< > > Modified: cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp?rev=150586&r1=150585&r2=150586&view=diff > > ============================================================================== > --- cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp (original) > +++ cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp Wed Feb 15 10:20:15 2012 > @@ -218,7 +218,8 @@ > unsigned diag_AlwaysFallThrough_HasNoReturn; > unsigned diag_AlwaysFallThrough_ReturnsNonVoid; > unsigned diag_NeverFallThroughOrReturn; > - bool funMode; > + enum { Function, Block, Lambda } funMode; > + bool IsLambda; > It looks like you're not using this new member.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
