diff options
author | Erich Keane <erich.keane@intel.com> | 2017-12-12 16:02:06 +0000 |
---|---|---|
committer | Erich Keane <erich.keane@intel.com> | 2017-12-12 16:02:06 +0000 |
commit | bd2197c0c1ad4e7ed648880a90a4ab16064942ae (patch) | |
tree | 59bad2bd44cd7a0cc7008930a3b7786391b36753 /clang/lib/Sema/SemaExprCXX.cpp | |
parent | fb68c48a8201a5d6066994699e098b267d4e418c (diff) | |
download | bcm5719-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.cpp | 3 |
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"); } |