[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