aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2007-07-12 15:26:50 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2007-07-12 15:26:50 +0000
commitfdd75663fffeb2058a7847975e50837e61200593 (patch)
treed3e64a713ed1efcdf7bc8e9fd41956678284f6e5
parent3724c00ab70b1f86ae1afa01587c4cb811570433 (diff)
Properly use local variable declaration inside a switch case
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39777 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--AST/Expr.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/AST/Expr.cpp b/AST/Expr.cpp
index b7dbcc7de6..e22e80e76e 100644
--- a/AST/Expr.cpp
+++ b/AST/Expr.cpp
@@ -211,9 +211,10 @@ Expr::isLvalueResult Expr::isLvalue() {
if (isa<VarDecl>(cast<DeclRefExpr>(this)->getDecl()))
return LV_Valid;
break;
- case MemberExprClass: // C99 6.5.2.3p4
+ case MemberExprClass: { // C99 6.5.2.3p4
const MemberExpr *m = cast<MemberExpr>(this);
return m->isArrow() ? LV_Valid : m->getBase()->isLvalue();
+ }
case UnaryOperatorClass: // C99 6.5.3p4
if (cast<UnaryOperator>(this)->getOpcode() == UnaryOperator::Deref)
return LV_Valid;