Preventing several replacements on a macro call.

Ted Kremenek via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 10 00:13:14 PDT 2015


+ Argyrios

Hi Angel,

I believe Argyrios is the original author of the code in question, as this looks related to the Objective-C “modernizer” migrator he wrote a while back.  This code started life on our internal development branch at Apple related to an Xcode feature we were doing, and I did the work on pushing it back to open source trunk.  Argyrios is the best one to answer your technical question here.

Ted

> On Sep 9, 2015, at 6:05 AM, Angel Garcia <angelgarcia at google.com> wrote:
> 
> +cfe-commits
> 
> On Tue, Sep 8, 2015 at 6:56 PM, Angel Garcia <angelgarcia at google.com <mailto:angelgarcia at google.com>> wrote:
> Hi Ted,
> 
> I was working on a clang-tidy check, and today I discovered that it was unable to do several replacements in different arguments of the same macro call. At first, I thought it was a bug, and trying to figure out why this was happening, I found that the replacements were rejected in lib/Edit/EditedSource.cpp:46, where there is a comment that says "Trying to write in a macro argument input that has already been written for another argument of the same macro". This comment means that this changes are rejected on purpose.
> 
> At the commit history, I saw that you had commited <http://reviews.llvm.org/rL152141> this code (that's why I am asking you). Do you think that there is a way around this? I don't really understand why there is a particular case for the macros here, and understanding it would help me to decide whether I should give up on trying to make this work, or try to find a "better" solution.
> 
> Thanks and sorry for the inconvenience,
> Angel
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150910/cc259b44/attachment.html>


More information about the cfe-commits mailing list