[cfe-dev] tests of bindings/python fail?

Douglas Gregor dgregor at apple.com
Tue Jul 5 20:01:25 PDT 2011


On Jul 5, 2011, at 6:47 PM, Eli Bendersky wrote:

> 
> 
> On Tue, Jul 5, 2011 at 17:45, Douglas Gregor <dgregor at apple.com> wrote:
> 
> On Jul 3, 2011, at 8:16 PM, Eli Bendersky wrote:
> 
>> | We'll happily commit patches to keep the Python bindings working. 
>> 
>>   - Doug
>> 
>> I'm attaching a patch (diffed against trunk) with some fixes to the Python bindings, making its tests pass again (on Linux and Windows).
>> 
>> Some details of the patch:
>> 
>> * Implemented a new function in libclang: clang_isAttr - it is similar to existing clang_Is* functions. Also exposed it to the Python bindings as the is_attr method of Cursor
>> * Fixing TranslationUnit.get_includes to only go through the argument buffer when it contains something. This fixed a crash on Windows
>> * clang_getFileName returns CXString, not char*. Made appropriate fixes in cindex.py - now the relevant tests pass and we can see the full locations correctly again (previously there was garbage in place of the file name)
>> * Exposed clang_getCursorDisplayName to the python bindings
> 
> Very nice.
> 
>> P.S. the patch file was created with 'svn diff' in the root of clang, so it should be applied as 'patch -p0' there. I hope this is an accepted way to submit patches - if something different is required, I'll gladly fix.
> 
> Yes, this is the right way to submit patches, thanks for working on this!
> 
> A few minor comments:
> 
> Index: include/clang-c/Index.h
> ===================================================================
> --- include/clang-c/Index.h	(revision 134366)
> +++ include/clang-c/Index.h	(working copy)
> @@ -1474,6 +1474,11 @@
>  CINDEX_LINKAGE unsigned clang_isStatement(enum CXCursorKind);
>  
>  /**
> + * \brief Determine whether the given cursor kind represents an attribute.
> + */
> +CINDEX_LINKAGE unsigned clang_isAttr(enum CXCursorKind);
> +
> +/**
> 
> Please name this "clang_isAttribute" to be more consistent with the naming of similar functions.
> 
> Index: tools/libclang/libclang.exports
> ===================================================================
> --- tools/libclang/libclang.exports	(revision 134366)
> +++ tools/libclang/libclang.exports	(working copy)
> @@ -123,6 +123,7 @@
>  clang_isReference
>  clang_isRestrictQualifiedType
>  clang_isStatement
> +clang_isAttr
>  clang_isTranslationUnit
>  clang_isUnexposed
>  clang_isVirtualBase
> 
> This list is meant to be sorted. Also, please update libclang.darwin.exports as well.
> 
> 
> Hi Doug, thanks for the review. I'm attaching an updated patch with fixes for all your comments. 


Committed as r134460, thanks!

I forgot to mention it before, but please send future patches to the cfe-commits mailing list.

	- Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110705/7e6db5be/attachment.html>


More information about the cfe-dev mailing list