I suggest to avoid a typo in the previous patch subject. … > +virtual context > +virtual report > +virtual org +virtual context, report, org Is such a SmPL code variant more succinct? … > +@as_next@ > +expression subE1 <= as.E1; > +expression as.E1; … I propose to reduce the repetition of this SmPL key word. … > + ... when != \(E1\|E2\|subE1\|subE2\)=E3 > + when != \(E1\|E2\|subE1\|subE2\)+=E3 … Can it make sense to express a constraint for a metavariable of the type “assignment operator”? > + when != \(&E1\|&E2\|&subE1\|&subE2\) How do you think about to use the following code exclusion specification? + when != & \(E1 \| E2 \| subE1 \| subE2\) … > +msg = "WARNING: same struct_size (line %s)" % (p1[0].line) > +coccilib.org.print_todo(p2[0], msg) I suggest once more to pass the desired message object directly as a function argument (without using an extra Python variable). Regards, Markus