r232264 - Sort ObjCProtocolDecls with array_pod_sort.

Benjamin Kramer benny.kra at googlemail.com
Sat Mar 14 06:32:50 PDT 2015


Author: d0k
Date: Sat Mar 14 08:32:49 2015
New Revision: 232264

URL: http://llvm.org/viewvc/llvm-project?rev=232264&view=rev
Log:
Sort ObjCProtocolDecls with array_pod_sort.

The predicate is essentially a string comparison. NFC.

Modified:
    cfe/trunk/lib/AST/ASTContext.cpp

Modified: cfe/trunk/lib/AST/ASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTContext.cpp?rev=232264&r1=232263&r2=232264&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ASTContext.cpp (original)
+++ cfe/trunk/lib/AST/ASTContext.cpp Sat Mar 14 08:32:49 2015
@@ -3521,9 +3521,9 @@ QualType ASTContext::getPackExpansionTyp
 
 /// CmpProtocolNames - Comparison predicate for sorting protocols
 /// alphabetically.
-static bool CmpProtocolNames(const ObjCProtocolDecl *LHS,
-                            const ObjCProtocolDecl *RHS) {
-  return LHS->getDeclName() < RHS->getDeclName();
+static int CmpProtocolNames(ObjCProtocolDecl *const *LHS,
+                            ObjCProtocolDecl *const *RHS) {
+  return DeclarationName::compare((*LHS)->getDeclName(), (*RHS)->getDeclName());
 }
 
 static bool areSortedAndUniqued(ObjCProtocolDecl * const *Protocols,
@@ -3534,7 +3534,7 @@ static bool areSortedAndUniqued(ObjCProt
     return false;
   
   for (unsigned i = 1; i != NumProtocols; ++i)
-    if (!CmpProtocolNames(Protocols[i-1], Protocols[i]) ||
+    if (CmpProtocolNames(&Protocols[i - 1], &Protocols[i]) >= 0 ||
         Protocols[i]->getCanonicalDecl() != Protocols[i])
       return false;
   return true;
@@ -3545,7 +3545,7 @@ static void SortAndUniqueProtocols(ObjCP
   ObjCProtocolDecl **ProtocolsEnd = Protocols+NumProtocols;
 
   // Sort protocols, keyed by name.
-  std::sort(Protocols, Protocols+NumProtocols, CmpProtocolNames);
+  llvm::array_pod_sort(Protocols, ProtocolsEnd, CmpProtocolNames);
 
   // Canonicalize.
   for (unsigned I = 0, N = NumProtocols; I != N; ++I)





More information about the cfe-commits mailing list