summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExprCXX.cpp
diff options
context:
space:
mode:
authorErich Keane <erich.keane@intel.com>2017-12-12 16:02:06 +0000
committerErich Keane <erich.keane@intel.com>2017-12-12 16:02:06 +0000
commitbd2197c0c1ad4e7ed648880a90a4ab16064942ae (patch)
tree59bad2bd44cd7a0cc7008930a3b7786391b36753 /clang/lib/Sema/SemaExprCXX.cpp
parentfb68c48a8201a5d6066994699e098b267d4e418c (diff)
downloadbcm5719-llvm-bd2197c0c1ad4e7ed648880a90a4ab16064942ae.tar.gz
bcm5719-llvm-bd2197c0c1ad4e7ed648880a90a4ab16064942ae.zip
Fix ICE when __has_unqiue_object_representations called with invalid decl
llvm-svn: 320489
Diffstat (limited to 'clang/lib/Sema/SemaExprCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaExprCXX.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 9c842ded1e1..641d583944f 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -4958,7 +4958,7 @@ static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, QualType LhsT,
EnterExpressionEvaluationContext Unevaluated(
Self, Sema::ExpressionEvaluationContext::Unevaluated);
Sema::SFINAETrap SFINAE(Self, /*AccessCheckingSFINAE=*/true);
- Sema::ContextRAII TUContext(Self, Self.Context.getTranslationUnitDecl());
+ Sema::ContextRAII TUContext(Self, Self.Context.getTranslationUnitDecl()); {
ExprResult Result = Self.BuildBinOp(/*S=*/nullptr, KeyLoc, BO_Assign, &Lhs,
&Rhs);
if (Result.isInvalid() || SFINAE.hasErrorOccurred())
@@ -4981,6 +4981,7 @@ static bool EvaluateBinaryTypeTrait(Sema &Self, TypeTrait BTT, QualType LhsT,
llvm_unreachable("unhandled type trait");
return false;
+ }
}
default: llvm_unreachable("not a BTT");
}
OpenPOWER on IntegriCloud