diff options
-rw-r--r-- | clang/include/clang-c/Index.h | 4 | ||||
-rw-r--r-- | clang/tools/c-index-test/c-index-test.c | 6 | ||||
-rw-r--r-- | clang/tools/libclang/CIndex.cpp | 46 | ||||
-rw-r--r-- | clang/tools/libclang/CIndexCXX.cpp | 1 | ||||
-rw-r--r-- | clang/tools/libclang/CIndexCodeCompletion.cpp | 1 | ||||
-rw-r--r-- | clang/tools/libclang/CIndexDiagnostic.cpp | 1 | ||||
-rw-r--r-- | clang/tools/libclang/CIndexUSRs.cpp | 1 | ||||
-rw-r--r-- | clang/tools/libclang/CIndexer.h | 7 | ||||
-rw-r--r-- | clang/tools/libclang/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/tools/libclang/CXCursor.cpp | 1 | ||||
-rw-r--r-- | clang/tools/libclang/CXType.cpp | 1 |
11 files changed, 11 insertions, 59 deletions
diff --git a/clang/include/clang-c/Index.h b/clang/include/clang-c/Index.h index f3ba9974eb2..c8af3491cd9 100644 --- a/clang/include/clang-c/Index.h +++ b/clang/include/clang-c/Index.h @@ -134,9 +134,7 @@ enum CXAvailabilityKind { */ typedef struct { const char *Spelling; - /* A 1 value indicates the clang_ indexing API needed to allocate the string - (and it must be freed by clang_disposeString()). */ - int MustFreeString; + unsigned private_flags; } CXString; /** diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c index edaf116d9ad..c0c7a29e975 100644 --- a/clang/tools/c-index-test/c-index-test.c +++ b/clang/tools/c-index-test/c-index-test.c @@ -1306,7 +1306,7 @@ int print_usrs(const char **I, const char **E) { else { CXString x; x.Spelling = I[2]; - x.MustFreeString = 0; + x.private_flags = 0; print_usr(clang_constructUSR_ObjCIvar(I[1], x)); } @@ -1333,7 +1333,7 @@ int print_usrs(const char **I, const char **E) { else { CXString x; x.Spelling = I[3]; - x.MustFreeString = 0; + x.private_flags = 0; print_usr(clang_constructUSR_ObjCMethod(I[1], atoi(I[2]), x)); } I += 4; @@ -1363,7 +1363,7 @@ int print_usrs(const char **I, const char **E) { else { CXString x; x.Spelling = I[2]; - x.MustFreeString = 0; + x.private_flags = 0; print_usr(clang_constructUSR_ObjCProperty(I[1], x)); } I += 3; diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index b573c067a80..a25570e0c14 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -14,6 +14,7 @@ #include "CIndexer.h" #include "CXCursor.h" +#include "CXString.h" #include "CXType.h" #include "CXSourceLocation.h" #include "CIndexDiagnostic.h" @@ -4575,51 +4576,6 @@ CXType clang_getIBOutletCollectionType(CXCursor C) { } // end: extern "C" //===----------------------------------------------------------------------===// -// CXString Operations. -//===----------------------------------------------------------------------===// - -extern "C" { -const char *clang_getCString(CXString string) { - return string.Spelling; -} - -void clang_disposeString(CXString string) { - if (string.MustFreeString && string.Spelling) - free((void*)string.Spelling); -} - -} // end: extern "C" - -namespace clang { namespace cxstring { -CXString createCXString(const char *String, bool DupString){ - CXString Str; - if (DupString) { - Str.Spelling = strdup(String); - Str.MustFreeString = 1; - } else { - Str.Spelling = String; - Str.MustFreeString = 0; - } - return Str; -} - -CXString createCXString(llvm::StringRef String, bool DupString) { - CXString Result; - if (DupString || (!String.empty() && String.data()[String.size()] != 0)) { - char *Spelling = (char *)malloc(String.size() + 1); - memmove(Spelling, String.data(), String.size()); - Spelling[String.size()] = 0; - Result.Spelling = Spelling; - Result.MustFreeString = 1; - } else { - Result.Spelling = String.data(); - Result.MustFreeString = 0; - } - return Result; -} -}} - -//===----------------------------------------------------------------------===// // Misc. utility functions. //===----------------------------------------------------------------------===// diff --git a/clang/tools/libclang/CIndexCXX.cpp b/clang/tools/libclang/CIndexCXX.cpp index 3ade5195d8f..fca89ed4104 100644 --- a/clang/tools/libclang/CIndexCXX.cpp +++ b/clang/tools/libclang/CIndexCXX.cpp @@ -18,7 +18,6 @@ #include "clang/AST/DeclTemplate.h" using namespace clang; -using namespace clang::cxstring; using namespace clang::cxcursor; extern "C" { diff --git a/clang/tools/libclang/CIndexCodeCompletion.cpp b/clang/tools/libclang/CIndexCodeCompletion.cpp index f22f5eeff64..7e8cdb2c204 100644 --- a/clang/tools/libclang/CIndexCodeCompletion.cpp +++ b/clang/tools/libclang/CIndexCodeCompletion.cpp @@ -13,6 +13,7 @@ //===----------------------------------------------------------------------===// #include "CIndexer.h" +#include "CXString.h" #include "CIndexDiagnostic.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/FileManager.h" diff --git a/clang/tools/libclang/CIndexDiagnostic.cpp b/clang/tools/libclang/CIndexDiagnostic.cpp index 036a28b5387..84f39e3ea00 100644 --- a/clang/tools/libclang/CIndexDiagnostic.cpp +++ b/clang/tools/libclang/CIndexDiagnostic.cpp @@ -13,6 +13,7 @@ #include "CIndexDiagnostic.h" #include "CIndexer.h" #include "CXSourceLocation.h" +#include "CXString.h" #include "clang/Frontend/ASTUnit.h" #include "clang/Frontend/FrontendDiagnostic.h" diff --git a/clang/tools/libclang/CIndexUSRs.cpp b/clang/tools/libclang/CIndexUSRs.cpp index e22980df394..adc77d16b62 100644 --- a/clang/tools/libclang/CIndexUSRs.cpp +++ b/clang/tools/libclang/CIndexUSRs.cpp @@ -13,6 +13,7 @@ #include "CIndexer.h" #include "CXCursor.h" +#include "CXString.h" #include "clang/AST/DeclTemplate.h" #include "clang/AST/DeclVisitor.h" #include "clang/Frontend/ASTUnit.h" diff --git a/clang/tools/libclang/CIndexer.h b/clang/tools/libclang/CIndexer.h index 32cfa971f34..8bcdce343ad 100644 --- a/clang/tools/libclang/CIndexer.h +++ b/clang/tools/libclang/CIndexer.h @@ -24,13 +24,6 @@ namespace llvm { class CrashRecoveryContext; } -namespace clang { -namespace cxstring { - CXString createCXString(const char *String, bool DupString = false); - CXString createCXString(llvm::StringRef String, bool DupString = true); -} -} - class CIndexer { bool OnlyLocalDecls; bool DisplayDiagnostics; diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt index 9a2a2a63cfd..d1d99726cce 100644 --- a/clang/tools/libclang/CMakeLists.txt +++ b/clang/tools/libclang/CMakeLists.txt @@ -27,6 +27,7 @@ add_clang_library(libclang CIndexUSRs.cpp CIndexer.cpp CXCursor.cpp + CXString.cpp CXType.cpp ../../include/clang-c/Index.h ) diff --git a/clang/tools/libclang/CXCursor.cpp b/clang/tools/libclang/CXCursor.cpp index f5941e7327f..a8cbca57dc6 100644 --- a/clang/tools/libclang/CXCursor.cpp +++ b/clang/tools/libclang/CXCursor.cpp @@ -14,6 +14,7 @@ //===----------------------------------------------------------------------===// #include "CXCursor.h" +#include "CXString.h" #include "clang/Frontend/ASTUnit.h" #include "clang/AST/Decl.h" #include "clang/AST/DeclCXX.h" diff --git a/clang/tools/libclang/CXType.cpp b/clang/tools/libclang/CXType.cpp index 05912b1db35..45a5bed2796 100644 --- a/clang/tools/libclang/CXType.cpp +++ b/clang/tools/libclang/CXType.cpp @@ -13,6 +13,7 @@ #include "CIndexer.h" #include "CXCursor.h" +#include "CXString.h" #include "CXType.h" #include "clang/AST/Expr.h" #include "clang/AST/Type.h" |