From: Thomas Adam <thomas@xteddy.org>
To: Julia Lawall <julia.lawall@inria.fr>
Cc: Coccinelle <cocci@systeme.lip6.fr>
Subject: Re: [Cocci] Removing the last return statement from a void function
Date: Fri, 19 Mar 2021 20:40:07 +0000 [thread overview]
Message-ID: <CAOhcEPZuVRGFXTHj+jw_o7EqK1=m0ZpN2-SvPK3sQkS+r4sGow@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.22.394.2103182020110.2984@hadrien>
[-- Attachment #1: Type: text/plain, Size: 1720 bytes --]
On Thu, 18 Mar 2021 at 19:24, Julia Lawall <julia.lawall@inria.fr> wrote:
> The ... in Coccinelle is based on control flow, so it is a bit hard to
> find the return at the bottom of the function. Actually, from
> Coccinelle's point of view, all returns are at the bottom of the function,
> because one leaves the function after a return.
Interesting, that helps me understand a little more about Coccinelle. Thanks.
> You can try the following:
>
> @r@
> position p;
> identifier f;
> }
>
> f(...) {
> <...
> { .. return@p; }
> ...>
> }
>
> @@
> position p != r.p;
> @@
>
> - return@p;
So I tried this:
@r@
position p;
identifier f;
@@
f(...) {
<...
{ ... return@p; }
...>
}
@@
position p != r.p;
@@
- return@p;
Which I ran as:
spatch --in-place --debug --iso-file contrib/coccinelle/empty.iso \
--sp-file ./contrib/coccinelle/remove-void-return.cocci --dir fvwm
With "--dir fvwm", I found that my CPU was being chewed at 100%, which I left
running overnight. Some 8 hours later, spatch was still running. Presumably,
Coccinelle is having an interesting time coordinating the positions?
Instead, I decided to loop over the .c files which "--dir fvwm" would have
done. What I found was that for some files, spatch took a few seconds, and
produced no output, yet for some, spatch was still running without any result
known (so I killed it).
Indeed, I'm attaching a debug run of spatch to this email (cocci-debug) for
one file that definitely has functions where I would expect Coccinelle to have
matched a "return;" statement to be removed, but this wasn't the case.
Would you be able to suggest what I might have done wrong, or if there's any
additional debugging I can provide?
Thanks,
Thomas
[-- Attachment #2: cocci-debug --]
[-- Type: application/octet-stream, Size: 18953 bytes --]
init_defs_builtins: /usr/bin/../lib/coccinelle/standard.h
-----------------------------------------------------------------------
processing semantic patch file: ./contrib/coccinelle/remove-void-return.cocci
with isos from: contrib/coccinelle/empty.iso
-----------------------------------------------------------------------
@r@
position p;
identifier f;
@@
f(...) {
<...
{ ... return@p; }
...>
}
@@
position p != r.p;
@@
- return@p;
HANDLING: fvwm/add_window.c
-----------------------------------------------------------------------
let's go
-----------------------------------------------------------------------
-----------------------------------------------------------------------
(ONCE) ast_to_flow: filter a directive
-----------------------------------------------------------------------
r =
-----------------------------------------------------------------------
dependencies for rule r satisfied:
binding in = []
binding relevant in = []
(ONCE) USING optional_storage builtin isomorphism
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,delete_client_context,((115,0),(130,1)),(129,1),(129,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,CaptureOneWindow,((142,0),(243,1)),(155,2),(155,8)), (fvwm/add_window.c,CaptureOneWindow,((142,0),(243,1)),(164,2),(164,8)), (fvwm/add_window.c,CaptureOneWindow,((142,0),(243,1)),(177,2),(177,8)), (fvwm/add_window.c,CaptureOneWindow,((142,0),(243,1)),(242,1),(242,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,hide_screen,((246,0),(331,1)),(268,2),(268,8)), (fvwm/add_window.c,hide_screen,((246,0),(331,1)),(330,1),(330,7))]]
transformation info is empty
binding out = []
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_window_structure,((383,0),(463,1)),(462,1),(462,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_name_count,((465,0),(536,1)),(535,1),(535,7))]]
transformation info is empty
binding out = []
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_class_and_resource,((680,0),(698,1)),(697,1),(697,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_window_attr,((700,0),(717,1)),(716,1),(716,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_window_font,((719,0),(734,1)),(733,1),(733,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_icon_font,((736,0),(749,1)),(748,1),(748,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,adjust_fvwm_internal_windows,((751,0),(779,1)),(778,1),(778,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,broadcast_mini_icon,((781,0),(796,1)),(785,2),(785,8)), (fvwm/add_window.c,broadcast_mini_icon,((781,0),(796,1)),(795,1),(795,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_mini_icon,((798,0),(826,1)),(804,2),(804,8)), (fvwm/add_window.c,setup_mini_icon,((798,0),(826,1)),(825,1),(825,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_icon_size_limits,((832,0),(852,1)),(851,1),(851,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_icon_background_parameters,((854,0),(875,1)),(874,1),(874,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_icon_title_parameters,((877,0),(889,1)),(888,1),(888,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_numeric_vals,((891,0),(922,1)),(921,1),(921,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_frame_window,((924,0),(968,1)),(967,1),(967,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_title_window,((970,0),(983,1)),(982,1),(982,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_title_window,((985,0),(997,1)),(996,1),(996,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,change_title_window,((999,0),(1012,1)),(1011,1),(1011,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_button_windows,((1014,0),(1057,1)),(1056,1),(1056,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_button_windows,((1059,0),(1084,1)),(1083,1),(1083,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,change_button_windows,((1086,0),(1101,1)),(1100,1),(1100,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_parent_window,((1103,0),(1131,1)),(1130,1),(1130,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_resize_handle_cursors,((1133,0),(1163,1)),(1141,2),(1141,8)), (fvwm/add_window.c,setup_resize_handle_cursors,((1133,0),(1163,1)),(1162,1),(1162,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_resize_handle_windows,((1165,0),(1213,1)),(1185,2),(1185,8)), (fvwm/add_window.c,setup_resize_handle_windows,((1165,0),(1213,1)),(1212,1),(1212,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_resize_handle_windows,((1215,0),(1235,1)),(1234,1),(1234,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,change_resize_handle_windows,((1237,0),(1253,1)),(1252,1),(1252,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_frame_stacking,((1255,0),(1321,1)),(1320,1),(1320,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,get_default_window_attributes,((1323,0),(1338,1)),(1337,1),(1337,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_auxiliary_windows,((1340,0),(1363,1)),(1362,1),(1362,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_auxiliary_windows,((1365,0),(1390,1)),(1389,1),(1389,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,broadcast_window_names,((1392,0),(1405,1)),(1405,0),(1405,1))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_icon,((1407,0),(1486,1)),(1485,1),(1485,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_icon,((1488,0),(1542,1)),(1541,1),(1541,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_icon_boxes,((1544,0),(1563,1)),(1562,1),(1562,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_icon_boxes,((1565,0),(1579,1)),(1578,1),(1578,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_layer,((1581,0),(1605,1)),(1604,1),(1604,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_mini_icon,((1607,0),(1616,1)),(1615,1),(1615,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_key_and_button_grabs,((1618,0),(1637,1)),(1636,1),(1636,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,__add_window_handle_x_resources,((1639,0),(1694,1)),(1693,1),(1693,7))]]
transformation info is empty
binding out = []
transformation info is empty
binding out = []
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,update_window_names,((1841,0),(1861,1)),(1860,1),(1860,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_window_name,((1863,0),(1873,1)),(1872,1),(1872,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_wm_hints,((1875,0),(1881,1)),(1880,1),(1880,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_title_geometry,((1883,0),(1905,1)),(1904,1),(1904,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_window_font,((1907,0),(1938,1)),(1937,1),(1937,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_icon_font,((1940,0),(1990,1)),(1953,2),(1953,8)), (fvwm/add_window.c,setup_icon_font,((1940,0),(1990,1)),(1989,1),(1989,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_style_and_decor,((1992,0),(2082,1)),(2081,1),(2081,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,change_icon_boxes,((2084,0),(2090,1)),(2089,1),(2089,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_frame_size_limits,((2092,0),(2116,1)),(2115,1),(2115,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_placement_penalty,((2118,0),(2138,1)),(2137,1),(2137,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_frame_attributes,((2140,0),(2174,1)),(2173,1),(2173,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,change_auxiliary_windows,((2176,0),(2189,1)),(2188,1),(2188,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,increase_icon_hint_count,((2191,0),(2213,1)),(2212,1),(2212,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,change_icon,((2215,0),(2221,1)),(2220,1),(2220,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,change_mini_icon,((2223,0),(2239,1)),(2238,1),(2238,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,setup_focus_policy,((2241,0),(2246,1)),(2245,1),(2245,7))]]
transformation info is empty
binding out = []
transformation info is empty
binding out = []
transformation info is empty
binding out = []
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,FetchWmProtocols,((2825,0),(2890,1)),(2836,2),(2836,8)), (fvwm/add_window.c,FetchWmProtocols,((2825,0),(2890,1)),(2889,1),(2889,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,GetWindowSizeHintsWithCheck,((2892,0),(3266,1)),(3265,1),(3265,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,GetWindowSizeHints,((3268,0),(3271,1)),(3271,0),(3271,1))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,free_window_names,((3278,0),(3332,1)),(3282,2),(3282,8)), (fvwm/add_window.c,free_window_names,((3278,0),(3332,1)),(3331,1),(3331,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,destroy_window,((3341,0),(3528,1)),(3348,2),(3348,8)), (fvwm/add_window.c,destroy_window,((3341,0),(3528,1)),(3400,3),(3400,9)), (fvwm/add_window.c,destroy_window,((3341,0),(3528,1)),(3435,2),(3435,8)), (fvwm/add_window.c,destroy_window,((3341,0),(3528,1)),(3527,1),(3527,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,RestoreWithdrawnLocation,((3539,0),(3651,1)),(3552,2),(3552,8)), (fvwm/add_window.c,RestoreWithdrawnLocation,((3539,0),(3651,1)),(3650,1),(3650,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,Reborder,((3660,0),(3691,1)),(3690,1),(3690,7))]]
transformation info is empty
binding out = [r.p --> poss[(fvwm/add_window.c,CaptureAllWindows,((3693,0),(3817,1)),(3705,2),(3705,8)), (fvwm/add_window.c,CaptureAllWindows,((3693,0),(3817,1)),(3816,1),(3816,7))]]
-----------------------------------------------------------------------
rule starting on line 12 =
-----------------------------------------------------------------------
dependencies for rule rule starting on line 12 satisfied:
binding in = []
binding relevant in = [r.p --> poss[(fvwm/add_window.c,CaptureAllWindows,((3693,0),(3817,1)),(3705,2),(3705,8)), (fvwm/add_window.c,CaptureAllWindows,((3693,0),(3817,1)),(3816,1),(3816,7)), (fvwm/add_window.c,CaptureOneWindow,((142,0),(243,1)),(155,2),(155,8)), (fvwm/add_window.c,CaptureOneWindow,((142,0),(243,1)),(164,2),(164,8)), (fvwm/add_window.c,CaptureOneWindow,((142,0),(243,1)),(177,2),(177,8)), (fvwm/add_window.c,CaptureOneWindow,((142,0),(243,1)),(242,1),(242,7)), (fvwm/add_window.c,FetchWmProtocols,((2825,0),(2890,1)),(2836,2),(2836,8)), (fvwm/add_window.c,FetchWmProtocols,((2825,0),(2890,1)),(2889,1),(2889,7)), (fvwm/add_window.c,GetWindowSizeHints,((3268,0),(3271,1)),(3271,0),(3271,1)), (fvwm/add_window.c,GetWindowSizeHintsWithCheck,((2892,0),(3266,1)),(3265,1),(3265,7)), (fvwm/add_window.c,Reborder,((3660,0),(3691,1)),(3690,1),(3690,7)), (fvwm/add_window.c,RestoreWithdrawnLocation,((3539,0),(3651,1)),(3552,2),(3552,8)), (fvwm/add_window.c,RestoreWithdrawnLocation,((3539,0),(3651,1)),(3650,1),(3650,7)), (fvwm/add_window.c,__add_window_handle_x_resources,((1639,0),(1694,1)),(1693,1),(1693,7)), (fvwm/add_window.c,adjust_fvwm_internal_windows,((751,0),(779,1)),(778,1),(778,7)), (fvwm/add_window.c,broadcast_mini_icon,((781,0),(796,1)),(785,2),(785,8)), (fvwm/add_window.c,broadcast_mini_icon,((781,0),(796,1)),(795,1),(795,7)), (fvwm/add_window.c,broadcast_window_names,((1392,0),(1405,1)),(1405,0),(1405,1)), (fvwm/add_window.c,change_auxiliary_windows,((2176,0),(2189,1)),(2188,1),(2188,7)), (fvwm/add_window.c,change_button_windows,((1086,0),(1101,1)),(1100,1),(1100,7)), (fvwm/add_window.c,change_icon,((2215,0),(2221,1)),(2220,1),(2220,7)), (fvwm/add_window.c,change_icon_boxes,((2084,0),(2090,1)),(2089,1),(2089,7)), (fvwm/add_window.c,change_mini_icon,((2223,0),(2239,1)),(2238,1),(2238,7)), (fvwm/add_window.c,change_resize_handle_windows,((1237,0),(1253,1)),(1252,1),(1252,7)), (fvwm/add_window.c,change_title_window,((999,0),(1012,1)),(1011,1),(1011,7)), (fvwm/add_window.c,delete_client_context,((115,0),(130,1)),(129,1),(129,7)), (fvwm/add_window.c,destroy_auxiliary_windows,((1365,0),(1390,1)),(1389,1),(1389,7)), (fvwm/add_window.c,destroy_button_windows,((1059,0),(1084,1)),(1083,1),(1083,7)), (fvwm/add_window.c,destroy_icon,((1488,0),(1542,1)),(1541,1),(1541,7)), (fvwm/add_window.c,destroy_icon_boxes,((1565,0),(1579,1)),(1578,1),(1578,7)), (fvwm/add_window.c,destroy_icon_font,((736,0),(749,1)),(748,1),(748,7)), (fvwm/add_window.c,destroy_mini_icon,((1607,0),(1616,1)),(1615,1),(1615,7)), (fvwm/add_window.c,destroy_resize_handle_windows,((1215,0),(1235,1)),(1234,1),(1234,7)), (fvwm/add_window.c,destroy_title_window,((985,0),(997,1)),(996,1),(996,7)), (fvwm/add_window.c,destroy_window,((3341,0),(3528,1)),(3348,2),(3348,8)), (fvwm/add_window.c,destroy_window,((3341,0),(3528,1)),(3400,3),(3400,9)), (fvwm/add_window.c,destroy_window,((3341,0),(3528,1)),(3435,2),(3435,8)), (fvwm/add_window.c,destroy_window,((3341,0),(3528,1)),(3527,1),(3527,7)), (fvwm/add_window.c,destroy_window_font,((719,0),(734,1)),(733,1),(733,7)), (fvwm/add_window.c,free_window_names,((3278,0),(3332,1)),(3282,2),(3282,8)), (fvwm/add_window.c,free_window_names,((3278,0),(3332,1)),(3331,1),(3331,7)), (fvwm/add_window.c,get_default_window_attributes,((1323,0),(1338,1)),(1337,1),(1337,7)), (fvwm/add_window.c,hide_screen,((246,0),(331,1)),(268,2),(268,8)), (fvwm/add_window.c,hide_screen,((246,0),(331,1)),(330,1),(330,7)), (fvwm/add_window.c,increase_icon_hint_count,((2191,0),(2213,1)),(2212,1),(2212,7)), (fvwm/add_window.c,setup_auxiliary_windows,((1340,0),(1363,1)),(1362,1),(1362,7)), (fvwm/add_window.c,setup_button_windows,((1014,0),(1057,1)),(1056,1),(1056,7)), (fvwm/add_window.c,setup_class_and_resource,((680,0),(698,1)),(697,1),(697,7)), (fvwm/add_window.c,setup_focus_policy,((2241,0),(2246,1)),(2245,1),(2245,7)), (fvwm/add_window.c,setup_frame_attributes,((2140,0),(2174,1)),(2173,1),(2173,7)), (fvwm/add_window.c,setup_frame_size_limits,((2092,0),(2116,1)),(2115,1),(2115,7)), (fvwm/add_window.c,setup_frame_stacking,((1255,0),(1321,1)),(1320,1),(1320,7)), (fvwm/add_window.c,setup_frame_window,((924,0),(968,1)),(967,1),(967,7)), (fvwm/add_window.c,setup_icon,((1407,0),(1486,1)),(1485,1),(1485,7)), (fvwm/add_window.c,setup_icon_background_parameters,((854,0),(875,1)),(874,1),(874,7)), (fvwm/add_window.c,setup_icon_boxes,((1544,0),(1563,1)),(1562,1),(1562,7)), (fvwm/add_window.c,setup_icon_font,((1940,0),(1990,1)),(1953,2),(1953,8)), (fvwm/add_window.c,setup_icon_font,((1940,0),(1990,1)),(1989,1),(1989,7)), (fvwm/add_window.c,setup_icon_size_limits,((832,0),(852,1)),(851,1),(851,7)), (fvwm/add_window.c,setup_icon_title_parameters,((877,0),(889,1)),(888,1),(888,7)), (fvwm/add_window.c,setup_key_and_button_grabs,((1618,0),(1637,1)),(1636,1),(1636,7)), (fvwm/add_window.c,setup_layer,((1581,0),(1605,1)),(1604,1),(1604,7)), (fvwm/add_window.c,setup_mini_icon,((798,0),(826,1)),(804,2),(804,8)), (fvwm/add_window.c,setup_mini_icon,((798,0),(826,1)),(825,1),(825,7)), (fvwm/add_window.c,setup_name_count,((465,0),(536,1)),(535,1),(535,7)), (fvwm/add_window.c,setup_numeric_vals,((891,0),(922,1)),(921,1),(921,7)), (fvwm/add_window.c,setup_parent_window,((1103,0),(1131,1)),(1130,1),(1130,7)), (fvwm/add_window.c,setup_placement_penalty,((2118,0),(2138,1)),(2137,1),(2137,7)), (fvwm/add_window.c,setup_resize_handle_cursors,((1133,0),(1163,1)),(1141,2),(1141,8)), (fvwm/add_window.c,setup_resize_handle_cursors,((1133,0),(1163,1)),(1162,1),(1162,7)), (fvwm/add_window.c,setup_resize_handle_windows,((1165,0),(1213,1)),(1185,2),(1185,8)), (fvwm/add_window.c,setup_resize_handle_windows,((1165,0),(1213,1)),(1212,1),(1212,7)), (fvwm/add_window.c,setup_style_and_decor,((1992,0),(2082,1)),(2081,1),(2081,7)), (fvwm/add_window.c,setup_title_geometry,((1883,0),(1905,1)),(1904,1),(1904,7)), (fvwm/add_window.c,setup_title_window,((970,0),(983,1)),(982,1),(982,7)), (fvwm/add_window.c,setup_window_attr,((700,0),(717,1)),(716,1),(716,7)), (fvwm/add_window.c,setup_window_font,((1907,0),(1938,1)),(1937,1),(1937,7)), (fvwm/add_window.c,setup_window_name,((1863,0),(1873,1)),(1872,1),(1872,7)), (fvwm/add_window.c,setup_window_structure,((383,0),(463,1)),(462,1),(462,7)), (fvwm/add_window.c,setup_wm_hints,((1875,0),(1881,1)),(1880,1),(1880,7)), (fvwm/add_window.c,update_window_names,((1841,0),(1861,1)),(1860,1),(1860,7))]]
-----------------------------------------------------------------------
Finished
-----------------------------------------------------------------------
Check duplication for 1 files
[-- Attachment #3: Type: text/plain, Size: 136 bytes --]
_______________________________________________
Cocci mailing list
Cocci@systeme.lip6.fr
https://systeme.lip6.fr/mailman/listinfo/cocci
next prev parent reply other threads:[~2021-03-19 20:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-18 18:26 [Cocci] Removing the last return statement from a void function Thomas Adam
2021-03-18 19:24 ` Julia Lawall
2021-03-19 20:40 ` Thomas Adam [this message]
2021-03-19 21:10 ` Julia Lawall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAOhcEPZuVRGFXTHj+jw_o7EqK1=m0ZpN2-SvPK3sQkS+r4sGow@mail.gmail.com' \
--to=thomas@xteddy.org \
--cc=cocci@systeme.lip6.fr \
--cc=julia.lawall@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).