aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/Mangle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/Mangle.cpp')
-rw-r--r--lib/CodeGen/Mangle.cpp111
1 files changed, 56 insertions, 55 deletions
diff --git a/lib/CodeGen/Mangle.cpp b/lib/CodeGen/Mangle.cpp
index c8d9de2d33..e42b6fdb79 100644
--- a/lib/CodeGen/Mangle.cpp
+++ b/lib/CodeGen/Mangle.cpp
@@ -283,97 +283,98 @@ void CXXNameMangler::manglePrefix(const DeclContext *DC) {
void
CXXNameMangler::mangleOperatorName(OverloadedOperatorKind OO, unsigned Arity) {
switch (OO) {
- // <operator-name> ::= nw # new
+ // <operator-name> ::= nw # new
case OO_New: Out << "nw"; break;
// ::= na # new[]
case OO_Array_New: Out << "na"; break;
- // ::= dl # delete
+ // ::= dl # delete
case OO_Delete: Out << "dl"; break;
- // ::= da # delete[]
+ // ::= da # delete[]
case OO_Array_Delete: Out << "da"; break;
// ::= ps # + (unary)
// ::= pl # +
case OO_Plus: Out << (Arity == 1? "ps" : "pl"); break;
- // ::= ng # - (unary)
- // ::= mi # -
+ // ::= ng # - (unary)
+ // ::= mi # -
case OO_Minus: Out << (Arity == 1? "ng" : "mi"); break;
- // ::= ad # & (unary)
- // ::= an # &
+ // ::= ad # & (unary)
+ // ::= an # &
case OO_Amp: Out << (Arity == 1? "ad" : "an"); break;
- // ::= de # * (unary)
- // ::= ml # *
+ // ::= de # * (unary)
+ // ::= ml # *
case OO_Star: Out << (Arity == 1? "de" : "ml"); break;
- // ::= co # ~
+ // ::= co # ~
case OO_Tilde: Out << "co"; break;
- // ::= dv # /
+ // ::= dv # /
case OO_Slash: Out << "dv"; break;
- // ::= rm # %
+ // ::= rm # %
case OO_Percent: Out << "rm"; break;
- // ::= or # |
- case OO_Pipe: Out << "or"; break;
- // ::= eo # ^
+ // ::= or # |
+ case OO_Pipe: Out << "or"; break;
+ // ::= eo # ^
case OO_Caret: Out << "eo"; break;
- // ::= aS # =
+ // ::= aS # =
case OO_Equal: Out << "aS"; break;
- // ::= pL # +=
+ // ::= pL # +=
case OO_PlusEqual: Out << "pL"; break;
- // ::= mI # -=
+ // ::= mI # -=
case OO_MinusEqual: Out << "mI"; break;
- // ::= mL # *=
+ // ::= mL # *=
case OO_StarEqual: Out << "mL"; break;
- // ::= dV # /=
+ // ::= dV # /=
case OO_SlashEqual: Out << "dV"; break;
- // ::= rM # %=
- case OO_PercentEqual: Out << "rM"; break;
- // ::= aN # &=
- case OO_AmpEqual: Out << "aN"; break;
- // ::= oR # |=
- case OO_PipeEqual: Out << "oR"; break;
- // ::= eO # ^=
- case OO_CaretEqual: Out << "eO"; break;
- // ::= ls # <<
+ // ::= rM # %=
+ case OO_PercentEqual: Out << "rM"; break;
+ // ::= aN # &=
+ case OO_AmpEqual: Out << "aN"; break;
+ // ::= oR # |=
+ case OO_PipeEqual: Out << "oR"; break;
+ // ::= eO # ^=
+ case OO_CaretEqual: Out << "eO"; break;
+ // ::= ls # <<
case OO_LessLess: Out << "ls"; break;
- // ::= rs # >>
- case OO_GreaterGreater: Out << "rs"; break;
- // ::= lS # <<=
- case OO_LessLessEqual: Out << "lS"; break;
- // ::= rS # >>=
- case OO_GreaterGreaterEqual: Out << "rS"; break;
+ // ::= rs # >>
+ case OO_GreaterGreater: Out << "rs"; break;
+ // ::= lS # <<=
+ case OO_LessLessEqual: Out << "lS"; break;
+ // ::= rS # >>=
+ case OO_GreaterGreaterEqual: Out << "rS"; break;
// ::= eq # ==
case OO_EqualEqual: Out << "eq"; break;
- // ::= ne # !=
- case OO_ExclaimEqual: Out << "ne"; break;
- // ::= lt # <
+ // ::= ne # !=
+ case OO_ExclaimEqual: Out << "ne"; break;
+ // ::= lt # <
case OO_Less: Out << "lt"; break;
- // ::= gt # >
+ // ::= gt # >
case OO_Greater: Out << "gt"; break;
- // ::= le # <=
+ // ::= le # <=
case OO_LessEqual: Out << "le"; break;
- // ::= ge # >=
+ // ::= ge # >=
case OO_GreaterEqual: Out << "ge"; break;
- // ::= nt # !
+ // ::= nt # !
case OO_Exclaim: Out << "nt"; break;
- // ::= aa # &&
+ // ::= aa # &&
case OO_AmpAmp: Out << "aa"; break;
- // ::= oo # ||
- case OO_PipePipe: Out << "oo"; break;
- // ::= pp # ++
- case OO_PlusPlus: Out << "pp"; break;
- // ::= mm # --
+ // ::= oo # ||
+ case OO_PipePipe: Out << "oo"; break;
+ // ::= pp # ++
+ case OO_PlusPlus: Out << "pp"; break;
+ // ::= mm # --
case OO_MinusMinus: Out << "mm"; break;
- // ::= cm # ,
- case OO_Comma: Out << "cm"; break;
- // ::= pm # ->*
+ // ::= cm # ,
+ case OO_Comma: Out << "cm"; break;
+ // ::= pm # ->*
case OO_ArrowStar: Out << "pm"; break;
- // ::= pt # ->
+ // ::= pt # ->
case OO_Arrow: Out << "pt"; break;
- // ::= cl # ()
+ // ::= cl # ()
case OO_Call: Out << "cl"; break;
- // ::= ix # []
+ // ::= ix # []
case OO_Subscript: Out << "ix"; break;
// UNSUPPORTED: ::= qu # ?
- case OO_None:
+ case OO_None:
+ case OO_Conditional:
case NUM_OVERLOADED_OPERATORS:
assert(false && "Not an overloaded operator");
break;