diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-10 02:02:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-10 02:02:58 +0000 |
commit | a69d0ed3ab66e96393586664a103e9482ec59e6f (patch) | |
tree | 47ab91a1be563cfb87569934482a6a8b4fdb17ba /lib/Parse/ParseExpr.cpp | |
parent | a1efc8c8c6460d860d6509b05b341e77ed9bfe87 (diff) |
fix a more evil case of : / :: confusion arising in ?:.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91039 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseExpr.cpp')
-rw-r--r-- | lib/Parse/ParseExpr.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Parse/ParseExpr.cpp b/lib/Parse/ParseExpr.cpp index 54131e0ccc..2536cee1cb 100644 --- a/lib/Parse/ParseExpr.cpp +++ b/lib/Parse/ParseExpr.cpp @@ -317,6 +317,9 @@ Parser::ParseRHSOfBinaryExpression(OwningExprResult LHS, unsigned MinPrec) { OwningExprResult TernaryMiddle(Actions, true); if (NextTokPrec == prec::Conditional) { if (Tok.isNot(tok::colon)) { + // Don't parse FOO:BAR as if it were a typo for FOO::BAR. + ColonProtectionRAIIObject X(*this); + // Handle this production specially: // logical-OR-expression '?' expression ':' conditional-expression // In particular, the RHS of the '?' is 'expression', not |