- Fixup SortCodeCompleteResult() to properly sort keywords on Mac OS (compare was system dependent). Worked on Linux, failed on Mac OS (which caused the recently added testcase to fail on Linux). 
- Sort results in testcase.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83597 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaCodeComplete.cpp b/lib/Sema/SemaCodeComplete.cpp
index b648702..d7697a7 100644
--- a/lib/Sema/SemaCodeComplete.cpp
+++ b/lib/Sema/SemaCodeComplete.cpp
@@ -986,7 +986,7 @@
                                           Y.Declaration->getDeclName());
           
         case Result::RK_Keyword:
-          return strcmp(X.Keyword, Y.Keyword) == -1;
+          return strcmp(X.Keyword, Y.Keyword) < 0;
       }
       
       // Silence GCC warning.
diff --git a/test/CodeCompletion/property.m b/test/CodeCompletion/property.m
index a8dd2ba..7f2321e 100644
--- a/test/CodeCompletion/property.m
+++ b/test/CodeCompletion/property.m
@@ -7,22 +7,22 @@
 @property(copy) Foo *myprop;
 @property(retain, nonatomic) id xx;
 // RUN: clang-cc -fsyntax-only -code-completion-at=%s:7:11 %s -o - | FileCheck -check-prefix=CC1 %s &&
-// CC1: readonly
-// CC1-NEXT: assign
+// CC1: assign
+// CC1-NEXT: copy
+// CC1-NEXT: getter
+// CC1-NEXT: nonatomic
+// CC1-NEXT: readonly
 // CC1-NEXT: readwrite
 // CC1-NEXT: retain
-// CC1-NEXT: copy
-// CC1-NEXT: nonatomic
 // CC1-NEXT: setter
-// CC1-NEXT: getter
 // RUN: clang-cc -fsyntax-only -code-completion-at=%s:8:18 %s -o - | FileCheck -check-prefix=CC2 %s
-// CC2: readonly
-// CC2-NEXT: assign
-// CC2-NEXT: readwrite
+// CC2: assign
 // CC2-NEXT: copy
-// CC2-NEXT: nonatomic
-// CC2-NEXT: setter
 // CC2-NEXT: getter
+// CC2-NEXT: nonatomic
+// CC2-NEXT: readonly
+// CC2-NEXT: readwrite
+// CC2-NEXT: setter
 @end