[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
Daniel Dunbar
daniel at zuster.org
Fri Jan 22 16:22:04 PST 2010
On Fri, Jan 22, 2010 at 4:21 PM, Daniel Dunbar <daniel at zuster.org> wrote:
> Hi Ted,
>
> On Fri, Jan 22, 2010 at 2:44 PM, Ted Kremenek <kremenek at apple.com> 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
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
>
More information about the cfe-commits
mailing list