Re: [Cocci] [3/5] Coccinelle: put_device: Merge four SmPL when constraints into one

2019-05-13 Thread Julia Lawall



On Mon, 13 May 2019, Markus Elfring wrote:

> >> An assignment target was repeated in four SmPL when constraints.
> >> Combine the exclusion specifications into disjunctions for the semantic
> >> patch language so that this target is referenced only once there.
> >
> > NACK.
>
> I find this rejection questionable.
>
>
> > This exceeds 80 characters
>
> The line became 105 characters long.
> 14 space characters can eventually be omitted.
>
>
> > and provides no readability benefit.
>
> I try to stress SmPL functionality in this use case.

That's not the goal of the semantic patches in the kernel.

The rule is fine as it is.

> >> +++ b/scripts/coccinelle/free/put_device.cocci
> >> @@ -23,10 +23,7 @@ if (id == NULL || ...) { ... return ...; }
> >>  when != platform_device_put(id)
> >>  when != of_dev_put(id)
> >>  when != if (id) { ... put_device(>dev) ... }
> >> -when != e1 = (T)id
> >> -when != e1 = (T)(>dev)
> >> -when != e1 = get_device(>dev)
> >> -when != e1 = (T1)platform_get_drvdata(id)
> >> +when != e1 = \( (T) \( id \| (>dev) \) \| get_device(>dev) \| 
> >> (T1)platform_get_drvdata(id) \)
>
> How do you think about to extend the Coccinelle software in the way
> that such a detailed constraint can be specified on separate lines
> (without duplicated SmPL code)?

This causes some ambiguities in the parser.  No change is likely to occur
here.

julia

>
> How long will it take to reconsider corresponding software limitations?
>
> Regards,
> Markus
>
___
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci


Re: [Cocci] [3/5] Coccinelle: put_device: Merge four SmPL when constraints into one

2019-05-13 Thread Markus Elfring
>> An assignment target was repeated in four SmPL when constraints.
>> Combine the exclusion specifications into disjunctions for the semantic
>> patch language so that this target is referenced only once there.
>
> NACK.

I find this rejection questionable.


> This exceeds 80 characters

The line became 105 characters long.
14 space characters can eventually be omitted.


> and provides no readability benefit.

I try to stress SmPL functionality in this use case.


>> +++ b/scripts/coccinelle/free/put_device.cocci
>> @@ -23,10 +23,7 @@ if (id == NULL || ...) { ... return ...; }
>>  when != platform_device_put(id)
>>  when != of_dev_put(id)
>>  when != if (id) { ... put_device(>dev) ... }
>> -when != e1 = (T)id
>> -when != e1 = (T)(>dev)
>> -when != e1 = get_device(>dev)
>> -when != e1 = (T1)platform_get_drvdata(id)
>> +when != e1 = \( (T) \( id \| (>dev) \) \| get_device(>dev) \| 
>> (T1)platform_get_drvdata(id) \)

How do you think about to extend the Coccinelle software in the way
that such a detailed constraint can be specified on separate lines
(without duplicated SmPL code)?

How long will it take to reconsider corresponding software limitations?

Regards,
Markus
___
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci