[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