summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2015-08-28 22:33:53 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2015-08-28 22:33:53 +0000
commitd35cb054c9430b6a593c064d96a6a7cfb69bb0e9 (patch)
tree117d0a332bace35209d6783f71d3c5502270f001 /clang/lib/Sema/SemaDeclCXX.cpp
parent007b0a0e275700d97af1e4df502b3945fdc4dd57 (diff)
downloadbcm5719-llvm-d35cb054c9430b6a593c064d96a6a7cfb69bb0e9.tar.gz
bcm5719-llvm-d35cb054c9430b6a593c064d96a6a7cfb69bb0e9.zip
PR24612: Don't bail out of checking a constexpr function before checking
whether it can ever produce a constant expression in the case where it has a void return type and no return statements. llvm-svn: 246347
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 8afa3324661..9c08495286c 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -1230,9 +1230,9 @@ bool Sema::CheckConstexprFunctionBody(const FunctionDecl *Dcl, Stmt *Body) {
Diag(Dcl->getLocation(),
OK ? diag::warn_cxx11_compat_constexpr_body_no_return
: diag::err_constexpr_body_no_return);
- return OK;
- }
- if (ReturnStmts.size() > 1) {
+ if (!OK)
+ return false;
+ } else if (ReturnStmts.size() > 1) {
Diag(ReturnStmts.back(),
getLangOpts().CPlusPlus14
? diag::warn_cxx11_compat_constexpr_body_multiple_return
OpenPOWER on IntegriCloud