Index: lib/Parse/ParseExpr.cpp =================================================================== --- lib/Parse/ParseExpr.cpp +++ lib/Parse/ParseExpr.cpp @@ -798,7 +798,8 @@ case tok::kw_true: case tok::kw_false: - return ParseCXXBoolLiteral(); + Res = ParseCXXBoolLiteral(); + break; case tok::kw___objc_yes: case tok::kw___objc_no: Index: test/CXX/expr/expr.post/expr.sub/p1.cpp =================================================================== --- test/CXX/expr/expr.post/expr.sub/p1.cpp +++ test/CXX/expr/expr.post/expr.sub/p1.cpp @@ -0,0 +1,7 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +void pr34273() { + char Normal = "clang"[true]; // expected-no-diagnostics + char Special = true["clang"]; // expected-no-diagnostics +} +