diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2010-12-12 08:51:33 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2010-12-12 08:51:33 +0000 |
commit | abb71845ef4a2bbd0a20541b92285e44f2190825 (patch) | |
tree | 80d2601c20e99435ea8b93c6880eff2ef424408a /lib/Sema/SemaOverload.cpp | |
parent | c1409467542f2b3dc7f563f7e56ba54158a70b0e (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.cpp | 68 |
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. |