On Fri, Jan 22, 2010 at 4:21 PM, Daniel Dunbar <[email protected]> wrote: > Hi Ted, > > On Fri, Jan 22, 2010 at 2:44 PM, Ted Kremenek <[email protected]> wrote: >> 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. > > I think it would be better to name this "clang_getFullVersionString" > or something, we might want getVersion or so in the future to get the > actually numeric version number.
Oh and, can you add a doxyment about it -- particularly note that it is just an arbitrary "version string" suitable for showing to the user, not intended to be parsed. - Daniel > - Daniel > >> 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 >> >> >> _______________________________________________ >> cfe-commits mailing list >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
