Clean up my changes to jump-diagnostic handling for local variables of
class type (or array thereof), eliminating some redundant checks
(thanks Eli!) and adding some tests where the behavior differs in
C++98/03 vs. C++0x.

llvm-svn: 132218
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 77bd5b7..5a3f632 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -5646,7 +5646,7 @@
         if ((!getLangOptions().CPlusPlus0x && !CXXRecord->isPOD()) ||
             (getLangOptions().CPlusPlus0x &&
              (!CXXRecord->hasTrivialDefaultConstructor() ||
-              (!CXXRecord->hasTrivialDestructor()))))
+              !CXXRecord->hasTrivialDestructor())))
           getCurFunction()->setHasBranchProtectedScope();
       }
     }