aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2020-01-22 21:31:48 +0000
committerDimitry Andric <dim@FreeBSD.org>2020-01-22 21:31:48 +0000
commita7dea1671b87c07d2d266f836bfa8b58efc7c134 (patch)
treeff67344b3b18fc14e0cec322849afb4e3b94ea56 /contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h
parent5c713029ff7939f90b6f96df914953e758855a7f (diff)
parent519fc96c475680de2cc49e7811dbbfadb912cbcc (diff)
downloadsrc-a7dea1671b87c07d2d266f836bfa8b58efc7c134.tar.gz
src-a7dea1671b87c07d2d266f836bfa8b58efc7c134.zip
Merge ^/vendor/clang/dist up to its last change, and resolve conflicts.
Notes
Notes: svn path=/projects/clang1000-import/; revision=356998
Diffstat (limited to 'contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h')
-rw-r--r--contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h b/contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h
index 9757acaa5300..d66189144511 100644
--- a/contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h
+++ b/contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h
@@ -30,6 +30,25 @@ enum OverloadedOperatorKind : int {
/// the preceding "operator" keyword.
const char *getOperatorSpelling(OverloadedOperatorKind Operator);
+/// Get the other overloaded operator that the given operator can be rewritten
+/// into, if any such operator exists.
+inline OverloadedOperatorKind
+getRewrittenOverloadedOperator(OverloadedOperatorKind Kind) {
+ switch (Kind) {
+ case OO_Less:
+ case OO_LessEqual:
+ case OO_Greater:
+ case OO_GreaterEqual:
+ return OO_Spaceship;
+
+ case OO_ExclaimEqual:
+ return OO_EqualEqual;
+
+ default:
+ return OO_None;
+ }
+}
+
} // end namespace clang
#endif