Fix the result of VarDecl::checkInitIsICE so it is consistently accurate in C++11 mode. PR11928.
llvm-svn: 149908
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 123b14c..76d8ec0 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -1413,7 +1413,7 @@
// expression as a side-effect.
if (getASTContext().getLangOptions().CPlusPlus0x && !Eval->CheckedICE) {
Eval->CheckedICE = true;
- Eval->IsICE = Notes.empty();
+ Eval->IsICE = Result && Notes.empty();
}
return Result ? &Eval->Evaluated : 0;