[cfe-dev] [ping] extra libclang functionality for the xdress project
Argyrios Kyrtzidis
kyrtzidis at apple.com
Wed Nov 13 11:11:37 PST 2013
Hi Geoffrey,
Thanks a lot for your work. I'm going to review your patches soon(ish).
On Nov 13, 2013, at 10:54 AM, Geoffrey Irving <irving at naml.us> wrote:
> Alp Toker recommended I cc you folk for thoughts on my patches to
> libclang, since you seem to be involved in a libclang-related
> discussion. So far I haven't gotten in responses from people involved
> in libclang. Thanks Alp!
>
> The three patches are attached. They add additional functionality
> that I needed to write a clang frontend for the xdress python wrapper
> generator project. All three patches come with passing unit tests. I
> am happy to do extra work to clean them up if requested!
>
> If I can get these in, there will be other followup patches. Also, my
> previous email had four patches: this email removes the
> clang_Cursor_getDefaultArgument patch since further work exposed a bug
> (it called a C++ routine which assert()'ed various conditions). This
> is fixed, but I haven't yet extended the unit tests to detect the bug.
> I will resubmit once I do this.
>
> Stepping back, I would greatly appreciate any advice for how to go
> about patch submission for libclang in future, since I already have a
> few followup patches and may generate more going forwards (though I
> think I have nearly all the functionality needed by xdress).
>
> Thanks,
> Geoffrey
>
> ---------- Forwarded message ----------
> From: Geoffrey Irving <irving at naml.us>
> Date: Thu, Nov 7, 2013 at 11:08 AM
> Subject: Re: [PATCH] extra libclang functionality for the xdress project
> To: Alp Toker <alp at nuanti.com>
> Cc: Anthony Scopatz <scopatz at gmail.com>, cfe-commits at cs.uiuc.edu,
> Argyrios Kyrtzidis <akyrtzi at gmail.com>
>
>
> On Wed, Nov 6, 2013 at 7:39 AM, Alp Toker <alp at nuanti.com> wrote:
>>
>> On 06/11/2013 14:55, Anthony Scopatz wrote:
>>> Hello All,
>>>
>>> Could we please hear some response on this? Thanks!
>>
>> Hello Anthony, Geoffrey,
>>
>> Thanks for the contribution.
>>
>> You'll need to rebase this work against current SVN, add at least a
>> couple of standard lit tests and probably split it up into two or three
>> bite-size chunks for review.
>>
>> Once that's done, it can also help to CC in others who've recently
>> worked on the C API in order to get buy-in.
>>
>> As for the Geoffrey's build problem, it's best to ask that as a separate
>> question, including details about the platform and configuration if
>> you're still struggling.
>>
>> Good luck with the patch :-)
>>
>> Alp.
>>
>>
>>
>>>
>>> Be Well
>>> Anthony
>>>
>>>
>>> On Sun, Nov 3, 2013 at 5:46 PM, Geoffrey Irving <irving at naml.us
>>> <mailto:irving at naml.us>> wrote:
>>>
>>> Here are four patches improving libclang in various ways for use in
>>> xdress (http://xdress.org). In order, they add
>>>
>>> 1. Python support for clang_formatDiagnostic.
>>> 2. Access to public / private / protected specifiers.
>>> 3. Template argument access (as new cursor types).
>>> 4. A clang_Cursor_getDefaultArgument function.
>>>
>>> They've all been tested inside xdress, but the patches themselves do
>>> not include tests. Since questions about this stuff to cfe-dev were
>>> ignored, I want to make sure these patches will be looked at before I
>>> do potentially unnecessary work.
>>>
>>> Caveat: llvm trunk does not build for me due to these errors:
>>>
>>> llvm-build: error: invalid native target: 'x86_64' (not in
>>> project)
>>>
>>> Therefore, these patches were written, built, and tested again
>>> release_33 plus several cherry-picked libclang commits. It's possible
>>> they don't compile against the trunk.
>>>
>>> Any ideas what would have caused this build breakage since release_33?
>>>
>>> Thanks,
>>> Geoffrey
>
> Attached are updated versions of the four patches with both python and
> c unit tests. If anyone prefers git-svn, they are also here:
>
> https://github.com/girving/clang/commits/xdress
> https://github.com/girving/clang/commits/a064ac67efe8cf4cf82219e9d8988d72406d3925
>
> Argyrios: I cc'ed you on Alp's suggestion since you touched the
> libclang code recently. Please let me know if you're up for looking
> over the code, or know someone else you might be.
>
> One change from the previous code: the new
> clang_Cursor_getDefaultArgument() supports only function parameters,
> since my naive method for extracting template argument defaults
> (calling the getDefaultArgument() function) didn't work. I don't
> actually need template argument defaults for now, but here's the patch
> that *did not* work if anyone is curious:
>
> https://github.com/girving/clang/commit/72879373f65e6eb08a94dcb4d74a5ff13532db2f
>
> Thanks!
> Geoffrey
> <0001-libclang-python-Expose-clang_formatDiagnostic-to-pyt.patch><0002-libclang-python-Expose-access-control-levels.patch><0003-libclang-Add-template-argument-support.patch>_______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
More information about the cfe-dev
mailing list