diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-11-12 03:57:16 +0000 |
---|---|---|
committer | Saleem Abdulrasool <compnerd@compnerd.org> | 2015-11-12 03:57:16 +0000 |
commit | 5d92eaeb17f9b3b384a9d62036ee9d81134d2762 (patch) | |
tree | b7258c534328986f4abffbcbfa9016ed92e4b6a6 /clang/tools/libclang/CXString.cpp | |
parent | 2af10e2eed41b8d110f905f726e4467bb03e6ed1 (diff) | |
download | bcm5719-llvm-5d92eaeb17f9b3b384a9d62036ee9d81134d2762.tar.gz bcm5719-llvm-5d92eaeb17f9b3b384a9d62036ee9d81134d2762.zip |
libclang: add new StringSet type
This allows the return of a set of CXStrings from libclang. This is setup work
for an upcoming change to permit returning multiple mangled symbols.
llvm-svn: 252852
Diffstat (limited to 'clang/tools/libclang/CXString.cpp')
-rw-r--r-- | clang/tools/libclang/CXString.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/tools/libclang/CXString.cpp b/clang/tools/libclang/CXString.cpp index dec8ebcd98e..ca9989bc21c 100644 --- a/clang/tools/libclang/CXString.cpp +++ b/clang/tools/libclang/CXString.cpp @@ -112,6 +112,15 @@ CXString createCXString(CXStringBuf *buf) { return Str; } +CXStringSet *createSet(const std::vector<std::string> &Strings) { + CXStringSet *Set = new CXStringSet; + Set->Count = Strings.size(); + Set->Strings = new CXString[Set->Count]; + for (unsigned SI = 0, SE = Set->Count; SI < SE; ++SI) + Set->Strings[SI] = createDup(Strings[SI]); + return Set; +} + //===----------------------------------------------------------------------===// // String pools. @@ -175,5 +184,11 @@ void clang_disposeString(CXString string) { break; } } + +void clang_disposeStringSet(CXStringSet *set) { + delete[] set->Strings; + delete set; +} + } // end: extern "C" |