On Thu, 22 Oct 2020, Markus Elfring wrote: > > A disjunction is applied by this script for the semantic patch language. > > This construct uses short-circuit evaluation. It has got the consequence > > that the last element of the specified condition will only be checked > > if all previous parts did not match. Such a technical detail leads to > > a recommended ordering of condition parts if you would like to care for > > optimal run time characteristics of SmPL code. > > I imagine that such information can trigger further software evolution > at more places. > > > > +++ b/scripts/coccinelle/iterators/for_each_child.cocci > > The software “Coccinelle 1.0.8-00177-g28737419” displays the following data. > > elfring@Sonne:~/Projekte/Linux/next-patched> spatch -D patch --parse-cocci > scripts/coccinelle/iterators/for_each_child.cocci > … > Grep query > for_each_node_with_property || for_each_node_by_type || for_each_node_by_name || > for_each_matching_node_and_match || for_each_matching_node || > for_each_compatible_node || for_each_child_of_node || > for_each_available_child_of_node > > > I suggest to take another closer look at the presented ordering for > these identifiers. > It deviates from the proposed listing for the SmPL disjunction. > Now I am curious if this difference can be meaningful. > > If the exact “grep” is performed, it might happen that short-circuit evaluation > would be applied also by the corresponding software component (or known tool). > Will any adjustments become relevant then accordingly? It doesn't matter. The purpose is just to select files that are relevent for consideration. If a file is selected for two reasons instead of one reason, it doesn't matter; it's still selected. julia