[cfe-commits] r94242 - in /cfe/trunk: include/clang-c/Index.h include/clang/Basic/Version.h lib/Basic/Version.cpp tools/CIndex/CIndex.cpp tools/CIndex/CIndex.exports
Ted Kremenek
kremenek at apple.com
Fri Jan 22 14:44:15 PST 2010
Author: kremenek
Date: Fri Jan 22 16:44:15 2010
New Revision: 94242
URL: http://llvm.org/viewvc/llvm-project?rev=94242&view=rev
Log:
Add 'clang_getClangVersion()' function to CIndex. This exposes the full Clang version string through the CIndex API.
Modified:
cfe/trunk/include/clang-c/Index.h
cfe/trunk/include/clang/Basic/Version.h
cfe/trunk/lib/Basic/Version.cpp
cfe/trunk/tools/CIndex/CIndex.cpp
cfe/trunk/tools/CIndex/CIndex.exports
Modified: cfe/trunk/include/clang-c/Index.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/Index.h?rev=94242&r1=94241&r2=94242&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/Index.h (original)
+++ cfe/trunk/include/clang-c/Index.h Fri Jan 22 16:44:15 2010
@@ -1238,6 +1238,19 @@
* @}
*/
+
+/**
+ * \defgroup CINDEX_MISC Miscellaneous utility functions
+ *
+ * @{
+ */
+
+CINDEX_LINKAGE const char *clang_getClangVersion();
+
+/**
+ * @}
+ */
+
/**
* @}
*/
Modified: cfe/trunk/include/clang/Basic/Version.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Version.h?rev=94242&r1=94241&r2=94242&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/Version.h (original)
+++ cfe/trunk/include/clang/Basic/Version.h Fri Jan 22 16:44:15 2010
@@ -65,7 +65,7 @@
/// \brief Retrieves a string representing the complete clang version,
/// which includes the clang version number, the repository version,
/// and the vendor tag.
- llvm::StringRef getClangFullVendorVersion();
+ const char *getClangFullVendorVersion();
}
#endif // LLVM_CLANG_BASIC_VERSION_H
Modified: cfe/trunk/lib/Basic/Version.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Version.cpp?rev=94242&r1=94241&r2=94242&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Version.cpp (original)
+++ cfe/trunk/lib/Basic/Version.cpp Fri Jan 22 16:44:15 2010
@@ -71,7 +71,7 @@
return buf;
}
-llvm::StringRef getClangFullVendorVersion() {
+const char *getClangFullVendorVersion() {
static std::string buf;
if (buf.empty()) {
llvm::raw_string_ostream OS(buf);
@@ -81,7 +81,7 @@
OS << "clang version " CLANG_VERSION_STRING " ("
<< getClangFullRepositoryVersion() << ')';
}
- return buf;
+ return buf.c_str();
}
} // end namespace clang
Modified: cfe/trunk/tools/CIndex/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/CIndex/CIndex.cpp?rev=94242&r1=94241&r2=94242&view=diff
==============================================================================
--- cfe/trunk/tools/CIndex/CIndex.cpp (original)
+++ cfe/trunk/tools/CIndex/CIndex.cpp Fri Jan 22 16:44:15 2010
@@ -15,6 +15,7 @@
#include "CIndexer.h"
#include "CXCursor.h"
+#include "clang/Basic/Version.h"
#include "clang/AST/DeclVisitor.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/AST/TypeLocVisitor.h"
@@ -1791,4 +1792,18 @@
if (string.MustFreeString && string.Spelling)
free((void*)string.Spelling);
}
+
} // end: extern "C"
+
+//===----------------------------------------------------------------------===//
+// Misc. utility functions.
+//===----------------------------------------------------------------------===//
+
+extern "C" {
+
+const char *clang_getClangVersion() {
+ return getClangFullVendorVersion();
+}
+
+} // end: extern "C"
+
Modified: cfe/trunk/tools/CIndex/CIndex.exports
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/CIndex/CIndex.exports?rev=94242&r1=94241&r2=94242&view=diff
==============================================================================
--- cfe/trunk/tools/CIndex/CIndex.exports (original)
+++ cfe/trunk/tools/CIndex/CIndex.exports Fri Jan 22 16:44:15 2010
@@ -8,6 +8,7 @@
_clang_disposeTranslationUnit
_clang_equalCursors
_clang_equalLocations
+_clang_getClangVersion
_clang_getCString
_clang_getCompletionChunkCompletionString
_clang_getCompletionChunkKind
More information about the cfe-commits
mailing list