aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2010-12-12 08:51:33 +0000
committerChandler Carruth <chandlerc@gmail.com>2010-12-12 08:51:33 +0000
commitabb71845ef4a2bbd0a20541b92285e44f2190825 (patch)
tree80d2601c20e99435ea8b93c6880eff2ef424408a /lib/Sema/SemaOverload.cpp
parentc1409467542f2b3dc7f563f7e56ba54158a70b0e (diff)
Reorder the cases in the switch to be more logically grouped (to my mind). If
others have another ordering they would prefer, I'm all ears, but this one made it much easier for me to find the group of operators I'm interested in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121629 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaOverload.cpp')
-rw-r--r--lib/Sema/SemaOverload.cpp68
1 files changed, 34 insertions, 34 deletions
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp
index 7d4507d7f1..69f48d69a8 100644
--- a/lib/Sema/SemaOverload.cpp
+++ b/lib/Sema/SemaOverload.cpp
@@ -5539,11 +5539,19 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
assert(false && "Expected an overloaded operator");
break;
- case OO_Star: // '*' is either unary or binary
- if (NumArgs == 1)
- OpBuilder.addUnaryStarPointerOverloads();
- else
- OpBuilder.addGenericBinaryArithmeticOverloads(/*isComparison=*/false);
+ case OO_New:
+ case OO_Delete:
+ case OO_Array_New:
+ case OO_Array_Delete:
+ case OO_Call:
+ assert(false && "Special operators don't use AddBuiltinOperatorCandidates");
+ break;
+
+ case OO_Comma:
+ case OO_Arrow:
+ // C++ [over.match.oper]p3:
+ // -- For the operator ',', the unary operator '&', or the
+ // operator '->', the built-in candidates set is empty.
break;
case OO_Plus: // '+' is either unary or binary
@@ -5560,14 +5568,15 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
}
break;
- case OO_Amp: // '&' is either unary or binary
+ case OO_Star: // '*' is either unary or binary
if (NumArgs == 1)
- // C++ [over.match.oper]p3:
- // -- For the operator ',', the unary operator '&', or the
- // operator '->', the built-in candidates set is empty.
- break;
+ OpBuilder.addUnaryStarPointerOverloads();
+ else
+ OpBuilder.addGenericBinaryArithmeticOverloads(/*isComparison=*/false);
+ break;
- OpBuilder.addBinaryBitwiseArithmeticOverloads(Op);
+ case OO_Slash:
+ OpBuilder.addGenericBinaryArithmeticOverloads(/*isComparison=*/false);
break;
case OO_PlusPlus:
@@ -5576,25 +5585,6 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
OpBuilder.addPlusPlusMinusMinusPointerOverloads();
break;
- case OO_Tilde:
- OpBuilder.addUnaryTildePromotedIntegralOverloads();
- break;
-
- case OO_New:
- case OO_Delete:
- case OO_Array_New:
- case OO_Array_Delete:
- case OO_Call:
- assert(false && "Special operators don't use AddBuiltinOperatorCandidates");
- break;
-
- case OO_Comma:
- case OO_Arrow:
- // C++ [over.match.oper]p3:
- // -- For the operator ',', the unary operator '&', or the
- // operator '->', the built-in candidates set is empty.
- break;
-
case OO_EqualEqual:
case OO_ExclaimEqual:
OpBuilder.addEqualEqualOrNotEqualMemberPointerOverloads();
@@ -5609,10 +5599,6 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
OpBuilder.addGenericBinaryArithmeticOverloads(/*isComparison=*/true);
break;
- case OO_Slash:
- OpBuilder.addGenericBinaryArithmeticOverloads(/*isComparison=*/false);
- break;
-
case OO_Percent:
case OO_Caret:
case OO_Pipe:
@@ -5621,6 +5607,20 @@ Sema::AddBuiltinOperatorCandidates(OverloadedOperatorKind Op,
OpBuilder.addBinaryBitwiseArithmeticOverloads(Op);
break;
+ case OO_Amp: // '&' is either unary or binary
+ if (NumArgs == 1)
+ // C++ [over.match.oper]p3:
+ // -- For the operator ',', the unary operator '&', or the
+ // operator '->', the built-in candidates set is empty.
+ break;
+
+ OpBuilder.addBinaryBitwiseArithmeticOverloads(Op);
+ break;
+
+ case OO_Tilde:
+ OpBuilder.addUnaryTildePromotedIntegralOverloads();
+ break;
+
case OO_Equal:
OpBuilder.addAssignmentMemberPointerOrEnumeralOverloads();
// Fall through.