libclang: introduce cxstring::{createRef,createDup} for C strings

Also migrate all clients from the old API.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174238 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/libclang/CIndexCodeCompletion.cpp b/tools/libclang/CIndexCodeCompletion.cpp
index 950513d..e287eda 100644
--- a/tools/libclang/CIndexCodeCompletion.cpp
+++ b/tools/libclang/CIndexCodeCompletion.cpp
@@ -135,7 +135,7 @@
   case CodeCompletionString::CK_Equal:
   case CodeCompletionString::CK_HorizontalSpace:
   case CodeCompletionString::CK_VerticalSpace:
-    return createCXString((*CCStr)[chunk_number].Text, false);
+    return cxstring::createRef((*CCStr)[chunk_number].Text);
       
   case CodeCompletionString::CK_Optional:
     // Note: treated as an empty text block.
@@ -210,7 +210,7 @@
 CXString clang_getCompletionAnnotation(CXCompletionString completion_string,
                                        unsigned annotation_number) {
   CodeCompletionString *CCStr = (CodeCompletionString *)completion_string;
-  return CCStr ? createCXString(CCStr->getAnnotation(annotation_number))
+  return CCStr ? cxstring::createRef(CCStr->getAnnotation(annotation_number))
                : cxstring::createNull();
 }
 
@@ -234,7 +234,7 @@
   if (!CCStr)
     return cxstring::createNull();
 
-  return createCXString(CCStr->getBriefComment(), /*DupString=*/false);
+  return cxstring::createRef(CCStr->getBriefComment());
 }
 
 namespace {
@@ -600,8 +600,7 @@
         // However, there are cases when AllocatedResults outlives the
         // CXTranslationUnit.  This is a workaround that failure mode.
         if (cxstring::isManagedByPool(cursorUSR)) {
-          CXString heapStr =
-            cxstring::createCXString(clang_getCString(cursorUSR), true);
+          CXString heapStr = cxstring::createDup(clang_getCString(cursorUSR));
           clang_disposeString(cursorUSR);
           cursorUSR = heapStr;
         }
@@ -914,7 +913,7 @@
   if (!Results)
     return cxstring::createEmpty();
   
-  return createCXString(clang_getCString(Results->ContainerUSR));
+  return cxstring::createRef(clang_getCString(Results->ContainerUSR));
 }