Minor tweaks for code-completion:
  - Filter out unnamed declarations
  - Filter out declarations whose names are reserved for the
  implementation (e.g., __bar, _Foo) 
  - Place OVERLOAD: or COMPLETION: at the beginning of each
  code-completion result, so we can easily separate them from other
  compilation results.

llvm-svn: 83680
diff --git a/clang/lib/Sema/CodeCompleteConsumer.cpp b/clang/lib/Sema/CodeCompleteConsumer.cpp
index a8988a6..c78ab5b 100644
--- a/clang/lib/Sema/CodeCompleteConsumer.cpp
+++ b/clang/lib/Sema/CodeCompleteConsumer.cpp
@@ -137,6 +137,7 @@
                                                          unsigned NumResults) {
   // Print the results.
   for (unsigned I = 0; I != NumResults; ++I) {
+    OS << "COMPLETION: ";
     switch (Results[I].Kind) {
     case Result::RK_Declaration:
       OS << Results[I].Declaration->getNameAsString() << " : " 
@@ -171,7 +172,7 @@
   for (unsigned I = 0; I != NumCandidates; ++I) {
     if (CodeCompletionString *CCS
           = Candidates[I].CreateSignatureString(CurrentArg, SemaRef)) {
-      OS << CCS->getAsString() << "\n";
+      OS << "OVERLOAD: " << CCS->getAsString() << "\n";
       delete CCS;
     }
   }