diff options
author | Douglas Gregor <dgregor@apple.com> | 2012-02-09 10:18:50 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2012-02-09 10:18:50 +0000 |
commit | 54042f1bd78f1f1ea86be7d4af541462e127d2ed (patch) | |
tree | 5adac67898a64f117ef4f912044173465cc121ad /lib/Sema/SemaChecking.cpp | |
parent | 760b37bcae12f4bbc68bb6cabf6ed68d265b0826 (diff) |
Implement return type deduction for lambdas per C++11
[expr.prim.lambda]p4, including the current suggested resolution of
core isue 975, which allows multiple return statements so long as the
types match. ExtWarn when user code is actually making use of this
extension.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150168 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaChecking.cpp')
-rw-r--r-- | lib/Sema/SemaChecking.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Sema/SemaChecking.cpp b/lib/Sema/SemaChecking.cpp index 69731e45ef..a44633d5d7 100644 --- a/lib/Sema/SemaChecking.cpp +++ b/lib/Sema/SemaChecking.cpp @@ -4185,7 +4185,7 @@ void AnalyzeImplicitConversions(Sema &S, Expr *OrigE, SourceLocation CC) { BinaryOperator *BO = dyn_cast<BinaryOperator>(E); bool IsLogicalOperator = BO && BO->isLogicalOp(); for (Stmt::child_range I = E->children(); I; ++I) { - Expr *ChildExpr = dyn_cast<Expr>(*I); + Expr *ChildExpr = dyn_cast_or_null<Expr>(*I); if (!ChildExpr) continue; |