Rakete1111 created this revision. Rakete1111 added a project: clang. Parsers a postfix expression after a boolean literal:
This fixes PR34273 <https://bugs.llvm.org/show_bug.cgi?id=34273>. https://reviews.llvm.org/D38342 Files: lib/Parse/ParseExpr.cpp test/CXX/expr/expr.post/expr.sub/p1.cpp 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 +} + 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 +} + 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:
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits