From: jean-sebastien.pedron@dumbbell.fr (Jean-Sébastien Pédron)
To: cocci@systeme.lip6.fr
Subject: [Cocci] Addition of preprocessor statements with SmPL
Date: Wed, 29 Oct 2014 11:57:54 +0100 [thread overview]
Message-ID: <5450C832.3030501@dumbbell.fr> (raw)
In-Reply-To: <alpine.DEB.2.10.1410291123540.26234@hadrien>
On 29.10.2014 11:26, Julia Lawall wrote:
>> I wanted to be able to re-run spatch on an already patched content. The
>> use case is to add new function prototypes manually and run spatch to
>> handle the associated #define automatically.
>
> I think that you could do the following:
>
> @r@
> identifier func;
> @@
> #define func BAR(func)
>
> @s@
> identifier r.func;
> position p;
> @@
>
> func at p(...) {...}
>
> @@
> identifier func;
> position p != s.p;
> @@
>
> +#define func BAR(func)
> func(...) { ... }
I tried this semantic patch and it doesn't work: more #define are added
with each run.
FWIW, the "BAR" identifier is unique in my use case: I'm sure the
original headers won't have it. That's why I took a simple approach in
removing all previous #define. However, I'm willing to learn the correct
way to handle this for a future usage :)
I have an additional question: If there's a comment just above the
function declaration/implementation, the #define is added above the
comment. Is there a way to put it between the comment and the function?
--
Jean-S?bastien P?dron
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: OpenPGP digital signature
URL: <https://systeme.lip6.fr/pipermail/cocci/attachments/20141029/ccdb8366/attachment-0001.asc>
next prev parent reply other threads:[~2014-10-29 10:57 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-28 18:24 [Cocci] Parsing errors in several headers Jean-Sébastien Pédron
2014-10-28 18:33 ` Julia Lawall
2014-10-28 18:51 ` Jean-Sébastien Pédron
2014-10-28 19:10 ` SF Markus Elfring
2014-10-28 19:23 ` Jean-Sébastien Pédron
2014-10-28 20:19 ` Julia Lawall
2014-10-29 8:29 ` SF Markus Elfring
2014-10-29 8:35 ` Jean-Sébastien Pédron
2014-10-29 8:45 ` [Cocci] Addition of preprocessor statements with SmPL SF Markus Elfring
2014-10-29 10:26 ` [Cocci] Parsing errors in several headers Julia Lawall
2014-10-29 10:57 ` Jean-Sébastien Pédron [this message]
2014-10-29 11:01 ` [Cocci] Addition of preprocessor statements with SmPL Julia Lawall
2014-10-29 11:07 ` Julia Lawall
2014-10-29 11:25 ` Jean-Sébastien Pédron
2014-10-29 12:26 ` Jean-Sébastien Pédron
2014-10-29 12:05 ` [Cocci] Parsing errors in several headers SF Markus Elfring
2014-10-29 9:45 ` [Cocci] Addition of preprocessor statements with SmPL SF Markus Elfring
2014-10-29 10:02 ` Julia Lawall
2014-10-29 10:07 ` SF Markus Elfring
2014-10-29 10:23 ` Julia Lawall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5450C832.3030501@dumbbell.fr \
--to=jean-sebastien.pedron@dumbbell.fr \
--cc=cocci@systeme.lip6.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.