summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2017-10-31 20:29:22 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2017-10-31 20:29:22 +0000
commitfd62945d36bbf71f42f6c08fea144200ad90a0fb (patch)
tree36ad2d6defca6cce681fe2fd484205c18444c78a /clang/lib
parent7cb25a888ce53c288de9369c5b98082b4ea5ec26 (diff)
downloadbcm5719-llvm-fd62945d36bbf71f42f6c08fea144200ad90a0fb.tar.gz
bcm5719-llvm-fd62945d36bbf71f42f6c08fea144200ad90a0fb.zip
Fix usage of right shift operator in fold expressions
The right shift operator was not seen as a valid operator in a fold expression, which is PR32563. Patch by Nicolas Lesser ("Blitz Rakete")! llvm-svn: 317032
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Parse/ParseExpr.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Parse/ParseExpr.cpp b/clang/lib/Parse/ParseExpr.cpp
index bff6d9cc193..0f2ec6b1c1f 100644
--- a/clang/lib/Parse/ParseExpr.cpp
+++ b/clang/lib/Parse/ParseExpr.cpp
@@ -266,11 +266,12 @@ bool Parser::diagnoseUnknownTemplateId(ExprResult LHS, SourceLocation Less) {
return false;
}
-static bool isFoldOperator(prec::Level Level) {
+bool Parser::isFoldOperator(prec::Level Level) const {
return Level > prec::Unknown && Level != prec::Conditional;
}
-static bool isFoldOperator(tok::TokenKind Kind) {
- return isFoldOperator(getBinOpPrecedence(Kind, false, true));
+
+bool Parser::isFoldOperator(tok::TokenKind Kind) const {
+ return isFoldOperator(getBinOpPrecedence(Kind, GreaterThanIsOperator, true));
}
/// \brief Parse a binary expression that starts with \p LHS and has a
OpenPOWER on IntegriCloud