On Thu, 12 Sep 2019, Christoph Böhmwalder wrote: > Hi, > > I'm having trouble removing const arguments from a function. I think this issue > is best explained in code: > > $ cat repro.c > f(int x, > const unsigned a, > const char *y) > { > } > > $ cat repro.cocci > @@ > identifier a; > @@ > f(... > - , unsigned a > + , unsigned b > ,...) > { > ... > } > > $ spatch --sp-file repro.cocci --very-quiet repro.c > --- repro.c > +++ /tmp/cocci-output-17454-200d33-repro.c > @@ -1,5 +1,5 @@ > -f(int x, > - const unsigned a, > +f(int x > + const, unsigned b, > const char *y) > { > } > > > When I try to remove some parameter(s) in the middle (in my real use case > I'm trying to remove 2) the 'const' ends up in weird places. > > Obviously I've tried (with and without disable optional_qualifier): > > f(... > - , const unsigned a > + , const unsigned b > ,...) > > but that gives: > > minus: parse error: > File "repro.cocci", line 5, column 19, charpos = 45 > around = 'a', > whole content = - , const unsigned a > > How can I tell coccinelle that I want a const here? Sorry, it's not clear to me what you want to do. Do you want to verify that there is a const before renaming the parameter? Could you do const unsigned -a +b ? julia > > Thanks, > -- > Christoph Böhmwalder > LINBIT | Keeping the Digital World Running > DRBD HA — Disaster Recovery — Software defined Storage > _______________________________________________ > Cocci mailing list > Cocci@systeme.lip6.fr > https://systeme.lip6.fr/mailman/listinfo/cocci >