On Tue, 2017-12-26 at 18:05 +0100, Julia Lawall wrote: > Inline macro for MODULE_LICENSE to make the license information easy to > find, eg with grep. Inline the other module-related macros at the same > time. > > The complete semantic patch is as follows: (http://coccinelle.lip6.fr/) > > // <smpl> > @q@ > declarer name MODULE_LICENSE; > identifier i; > constant c; > position p; > @@ > > MODULE_LICENSE(c@i@p); > > @r depends on q@ > declarer name MODULE_AUTHOR, MODULE_DESCRIPTION, MODULE_VERSION; > identifier i; > constant c; > position p; > @@ > > ( > MODULE_AUTHOR(c@i@p); > > > > MODULE_DESCRIPTION(c@i@p); > > > > MODULE_LICENSE(c@i@p); > > > > MODULE_VERSION(c@i@p); > ) > > @other@ > identifier r.i; > position p != r.p; > @@ > > i@p > > @s depends on !other@ > identifier r.i; > expression e; > @@ > > #define i e > > @@ > identifier r.i; > position r.p; > expression s.e; > @@ > > ( > MODULE_AUTHOR( > - i@p > + e > ); > > > > MODULE_DESCRIPTION( > - i@p > + e > ); > > > > MODULE_LICENSE( > - i@p > + e > ); > > > > MODULE_VERSION( > - i@p > + e > ); > ) > > @@ > identifier r.i; > expression s.e; > @@ > > -#define i e > // </smpl> What assures that the #define is only used by MODULE_<FOO> and is not used in any other way? -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html