aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Basic/OperatorKinds.def
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Basic/OperatorKinds.def')
-rw-r--r--include/clang/Basic/OperatorKinds.def68
1 files changed, 68 insertions, 0 deletions
diff --git a/include/clang/Basic/OperatorKinds.def b/include/clang/Basic/OperatorKinds.def
new file mode 100644
index 0000000000..6226172c54
--- /dev/null
+++ b/include/clang/Basic/OperatorKinds.def
@@ -0,0 +1,68 @@
+//===--- OperatorKinds.def - C++ Overloaded Operator Database ---*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines the OverloadedOperator database, which includes
+// all of the overloadable C++ operators.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef OVERLOADED_OPERATOR
+# define OVERLOADED_OPERATOR(Name,Spelling,Token)
+#endif
+
+#ifndef OVERLOADED_OPERATOR_MULTI
+# define OVERLOADED_OPERATOR_MULTI(Name,Spelling) \
+ OVERLOADED_OPERATOR(Name,Spelling,unknown)
+#endif
+
+OVERLOADED_OPERATOR_MULTI(New , "operator new")
+OVERLOADED_OPERATOR_MULTI(Delete , "operator delete")
+OVERLOADED_OPERATOR_MULTI(Array_New , "operator new[]")
+OVERLOADED_OPERATOR_MULTI(Array_Delete , "operator delete[]")
+OVERLOADED_OPERATOR(Plus , "operator+" , plus)
+OVERLOADED_OPERATOR(Minus , "operator-" , minus)
+OVERLOADED_OPERATOR(Star , "operator*" , star)
+OVERLOADED_OPERATOR(Slash , "operator/" , slash)
+OVERLOADED_OPERATOR(Percent , "operator%" , percent)
+OVERLOADED_OPERATOR(Caret , "operator^" , caret)
+OVERLOADED_OPERATOR(Amp , "operator&" , amp)
+OVERLOADED_OPERATOR(Pipe , "operator|" , pipe)
+OVERLOADED_OPERATOR(Tilde , "operator~" , tilde)
+OVERLOADED_OPERATOR(Exclaim , "operator!" , exclaim)
+OVERLOADED_OPERATOR(Equal , "operator=" , equal)
+OVERLOADED_OPERATOR(Less , "operator<" , less)
+OVERLOADED_OPERATOR(Greater , "operator>" , greater)
+OVERLOADED_OPERATOR(PlusEqual , "operator+=" , plusequal)
+OVERLOADED_OPERATOR(MinusEqual , "operator-=" , minusequal)
+OVERLOADED_OPERATOR(StarEqual , "operator*=" , starequal)
+OVERLOADED_OPERATOR(SlashEqual , "operator/=" , slashequal)
+OVERLOADED_OPERATOR(PercentEqual , "operator%=" , percentequal)
+OVERLOADED_OPERATOR(CaretEqual , "operator^=" , caretequal)
+OVERLOADED_OPERATOR(AmpEqual , "operator&=" , ampequal)
+OVERLOADED_OPERATOR(PipeEqual , "operator|=" , pipeequal)
+OVERLOADED_OPERATOR(LessLess , "operator<<" , lessless)
+OVERLOADED_OPERATOR(GreaterGreater , "operator>>" , greatergreater)
+OVERLOADED_OPERATOR(LessLessEqual , "operator<<=" , lesslessequal)
+OVERLOADED_OPERATOR(GreaterGreaterEqual , "operator>>=" , greatergreaterequal)
+OVERLOADED_OPERATOR(EqualEqual , "operator==" , equalequal)
+OVERLOADED_OPERATOR(ExclaimEqual , "operator!=" , exclaimequal)
+OVERLOADED_OPERATOR(LessEqual , "operator<=" , lessequal)
+OVERLOADED_OPERATOR(GreaterEqual , "operator>=" , greaterequal)
+OVERLOADED_OPERATOR(AmpAmp , "operator&&" , ampamp)
+OVERLOADED_OPERATOR(PipePipe , "operator||" , pipepipe)
+OVERLOADED_OPERATOR(PlusPlus , "operator++" , plusplus)
+OVERLOADED_OPERATOR(MinusMinus , "operator--" , minusminus)
+OVERLOADED_OPERATOR(Comma , "operator," , comma)
+OVERLOADED_OPERATOR(ArrowStar , "operator->*" , arrowstar)
+OVERLOADED_OPERATOR(Arrow , "operator->" , arrow)
+OVERLOADED_OPERATOR_MULTI(Call , "operator()")
+OVERLOADED_OPERATOR_MULTI(Subscript , "operator[]")
+
+#undef OVERLOADED_OPERATOR_MULTI
+#undef OVERLOADED_OPERATOR