All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 5/5] arch/um: remove duplicate structure field initialization
@ 2009-09-19 19:49 ` Julia Lawall
  0 siblings, 0 replies; 8+ messages in thread
From: Julia Lawall @ 2009-09-19 19:49 UTC (permalink / raw)
  To: jdike, user-mode-linux-user, user-mode-linux-devel, linux-kernel,
	kernel-janitors

From: Julia Lawall <julia@diku.dk>

The definition of uml_netdev_ops has initializations of a local function
and eth_mac_addr for its ndo_set_mac_address field.  This change uses only
the local function.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
identifier I, s, fld;
position p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@s@
identifier I, s, r.fld;
position r.p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@script:python@
p0 << r.p0;
fld << r.fld;
ps << s.p;
pr << r.p;
@@

if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column):
  cocci.print_main(fld,p0)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>

---
 arch/um/drivers/net_kern.c          |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index a74245a..d17a623 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -379,7 +379,6 @@ static const struct net_device_ops uml_netdev_ops = {
 	.ndo_tx_timeout 	= uml_net_tx_timeout,
 	.ndo_set_mac_address	= uml_net_set_mac,
 	.ndo_change_mtu 	= uml_net_change_mtu,
-	.ndo_set_mac_address 	= eth_mac_addr,
 	.ndo_validate_addr	= eth_validate_addr,
 };
 

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 5/5] arch/um: remove duplicate structure field initialization
@ 2009-09-19 19:49 ` Julia Lawall
  0 siblings, 0 replies; 8+ messages in thread
From: Julia Lawall @ 2009-09-19 19:49 UTC (permalink / raw)
  To: jdike, user-mode-linux-user, user-mode-linux-devel, linux-kernel,
	kernel-janitors

From: Julia Lawall <julia@diku.dk>

The definition of uml_netdev_ops has initializations of a local function
and eth_mac_addr for its ndo_set_mac_address field.  This change uses only
the local function.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
identifier I, s, fld;
position p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@s@
identifier I, s, r.fld;
position r.p0,p;
expression E;
@@

struct I s =@p0 { ... .fld@p = E, ...};

@script:python@
p0 << r.p0;
fld << r.fld;
ps << s.p;
pr << r.p;
@@

if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column):
  cocci.print_main(fld,p0)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>

---
 arch/um/drivers/net_kern.c          |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
index a74245a..d17a623 100644
--- a/arch/um/drivers/net_kern.c
+++ b/arch/um/drivers/net_kern.c
@@ -379,7 +379,6 @@ static const struct net_device_ops uml_netdev_ops = {
 	.ndo_tx_timeout 	= uml_net_tx_timeout,
 	.ndo_set_mac_address	= uml_net_set_mac,
 	.ndo_change_mtu 	= uml_net_change_mtu,
-	.ndo_set_mac_address 	= eth_mac_addr,
 	.ndo_validate_addr	= eth_validate_addr,
 };
 

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 5/5] arch/um: remove duplicate structure field
  2009-09-19 19:49 ` Julia Lawall
@ 2009-09-21 16:05   ` Américo Wang
  -1 siblings, 0 replies; 8+ messages in thread
From: Américo Wang @ 2009-09-21 16:05 UTC (permalink / raw)
  To: Julia Lawall
  Cc: jdike, user-mode-linux-user, user-mode-linux-devel, linux-kernel,
	kernel-janitors

On Sat, Sep 19, 2009 at 09:49:47PM +0200, Julia Lawall wrote:
>From: Julia Lawall <julia@diku.dk>
>
>The definition of uml_netdev_ops has initializations of a local function
>and eth_mac_addr for its ndo_set_mac_address field.  This change uses only
>the local function.
>
>The semantic match that finds this problem is as follows:
>(http://coccinelle.lip6.fr/)
>
>// <smpl>
>@r@
>identifier I, s, fld;
>position p0,p;
>expression E;
>@@
>
>struct I s =@p0 { ... .fld@p = E, ...};
>
>@s@
>identifier I, s, r.fld;
>position r.p0,p;
>expression E;
>@@
>
>struct I s =@p0 { ... .fld@p = E, ...};
>
>@script:python@
>p0 << r.p0;
>fld << r.fld;
>ps << s.p;
>pr << r.p;
>@@
>
>if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column):
>  cocci.print_main(fld,p0)
>// </smpl>


Hmm, C99 said:
"
The initialization shall occur in initializer list order, each
initializer provided for a particular subobject overriding any
previously listed initializer for the same subobject [...]
"

I am wondering why gcc doesn't (can't?) complain about this?

>
>Signed-off-by: Julia Lawall <julia@diku.dk>
>

Acked-by: WANG Cong <xiyou.wangcong@gmail.com>

>---
> arch/um/drivers/net_kern.c          |    1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
>diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
>index a74245a..d17a623 100644
>--- a/arch/um/drivers/net_kern.c
>+++ b/arch/um/drivers/net_kern.c
>@@ -379,7 +379,6 @@ static const struct net_device_ops uml_netdev_ops = {
> 	.ndo_tx_timeout 	= uml_net_tx_timeout,
> 	.ndo_set_mac_address	= uml_net_set_mac,
> 	.ndo_change_mtu 	= uml_net_change_mtu,
>-	.ndo_set_mac_address 	= eth_mac_addr,
> 	.ndo_validate_addr	= eth_validate_addr,
> };
> 
>--
>To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Live like a child, think like the god.
 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 5/5] arch/um: remove duplicate structure field initialization
@ 2009-09-21 16:05   ` Américo Wang
  0 siblings, 0 replies; 8+ messages in thread
From: Américo Wang @ 2009-09-21 16:05 UTC (permalink / raw)
  To: Julia Lawall
  Cc: jdike, user-mode-linux-user, user-mode-linux-devel, linux-kernel,
	kernel-janitors

On Sat, Sep 19, 2009 at 09:49:47PM +0200, Julia Lawall wrote:
>From: Julia Lawall <julia@diku.dk>
>
>The definition of uml_netdev_ops has initializations of a local function
>and eth_mac_addr for its ndo_set_mac_address field.  This change uses only
>the local function.
>
>The semantic match that finds this problem is as follows:
>(http://coccinelle.lip6.fr/)
>
>// <smpl>
>@r@
>identifier I, s, fld;
>position p0,p;
>expression E;
>@@
>
>struct I s =@p0 { ... .fld@p = E, ...};
>
>@s@
>identifier I, s, r.fld;
>position r.p0,p;
>expression E;
>@@
>
>struct I s =@p0 { ... .fld@p = E, ...};
>
>@script:python@
>p0 << r.p0;
>fld << r.fld;
>ps << s.p;
>pr << r.p;
>@@
>
>if int(ps[0].line)!=int(pr[0].line) or int(ps[0].column)!=int(pr[0].column):
>  cocci.print_main(fld,p0)
>// </smpl>


Hmm, C99 said:
"
The initialization shall occur in initializer list order, each
initializer provided for a particular subobject overriding any
previously listed initializer for the same subobject [...]
"

I am wondering why gcc doesn't (can't?) complain about this?

>
>Signed-off-by: Julia Lawall <julia@diku.dk>
>

Acked-by: WANG Cong <xiyou.wangcong@gmail.com>

>---
> arch/um/drivers/net_kern.c          |    1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
>diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c
>index a74245a..d17a623 100644
>--- a/arch/um/drivers/net_kern.c
>+++ b/arch/um/drivers/net_kern.c
>@@ -379,7 +379,6 @@ static const struct net_device_ops uml_netdev_ops = {
> 	.ndo_tx_timeout 	= uml_net_tx_timeout,
> 	.ndo_set_mac_address	= uml_net_set_mac,
> 	.ndo_change_mtu 	= uml_net_change_mtu,
>-	.ndo_set_mac_address 	= eth_mac_addr,
> 	.ndo_validate_addr	= eth_validate_addr,
> };
> 
>--
>To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
Live like a child, think like the god.
 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 5/5] arch/um: remove duplicate structure field initialization
  2009-09-21 16:05   ` [PATCH 5/5] arch/um: remove duplicate structure field initialization Américo Wang
@ 2009-09-21 16:26     ` Segher Boessenkool
  -1 siblings, 0 replies; 8+ messages in thread
From: Segher Boessenkool @ 2009-09-21 16:26 UTC (permalink / raw)
  To: Américo Wang
  Cc: Julia Lawall, jdike, user-mode-linux-user, user-mode-linux-devel,
	linux-kernel, kernel-janitors

> "
> The initialization shall occur in initializer list order, each
> initializer provided for a particular subobject overriding any
> previously listed initializer for the same subobject [...]
> "
>
> I am wondering why gcc doesn't (can't?) complain about this?

Does -Woverride-init (included in -Wextra / -W) not work?  If so, please
file a bug report.

Thanks,


Segher


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 5/5] arch/um: remove duplicate structure field initialization
@ 2009-09-21 16:26     ` Segher Boessenkool
  0 siblings, 0 replies; 8+ messages in thread
From: Segher Boessenkool @ 2009-09-21 16:26 UTC (permalink / raw)
  To: Américo Wang
  Cc: Julia Lawall, jdike, user-mode-linux-user, user-mode-linux-devel,
	linux-kernel, kernel-janitors

> "
> The initialization shall occur in initializer list order, each
> initializer provided for a particular subobject overriding any
> previously listed initializer for the same subobject [...]
> "
>
> I am wondering why gcc doesn't (can't?) complain about this?

Does -Woverride-init (included in -Wextra / -W) not work?  If so, please
file a bug report.

Thanks,


Segher


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 5/5] arch/um: remove duplicate structure field
  2009-09-21 16:26     ` Segher Boessenkool
@ 2009-09-22 14:05       ` Américo Wang
  -1 siblings, 0 replies; 8+ messages in thread
From: Américo Wang @ 2009-09-22 14:05 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Julia Lawall, jdike, user-mode-linux-user, user-mode-linux-devel,
	linux-kernel, kernel-janitors

On Tue, Sep 22, 2009 at 12:26 AM, Segher Boessenkool
<segher@kernel.crashing.org> wrote:
>> "
>> The initialization shall occur in initializer list order, each
>> initializer provided for a particular subobject overriding any
>> previously listed initializer for the same subobject [...]
>> "
>>
>> I am wondering why gcc doesn't (can't?) complain about this?
>
> Does -Woverride-init (included in -Wextra / -W) not work?  If so, please
> file a bug report.

Hmm, right, it works, but it seems that Linux kernel doesn't use it.
Maybe we should add it? :-/
--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 5/5] arch/um: remove duplicate structure field  initialization
@ 2009-09-22 14:05       ` Américo Wang
  0 siblings, 0 replies; 8+ messages in thread
From: Américo Wang @ 2009-09-22 14:05 UTC (permalink / raw)
  To: Segher Boessenkool
  Cc: Julia Lawall, jdike, user-mode-linux-user, user-mode-linux-devel,
	linux-kernel, kernel-janitors

On Tue, Sep 22, 2009 at 12:26 AM, Segher Boessenkool
<segher@kernel.crashing.org> wrote:
>> "
>> The initialization shall occur in initializer list order, each
>> initializer provided for a particular subobject overriding any
>> previously listed initializer for the same subobject [...]
>> "
>>
>> I am wondering why gcc doesn't (can't?) complain about this?
>
> Does -Woverride-init (included in -Wextra / -W) not work?  If so, please
> file a bug report.

Hmm, right, it works, but it seems that Linux kernel doesn't use it.
Maybe we should add it? :-/

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2009-09-22 14:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-19 19:49 [PATCH 5/5] arch/um: remove duplicate structure field initialization Julia Lawall
2009-09-19 19:49 ` Julia Lawall
2009-09-21 16:05 ` [PATCH 5/5] arch/um: remove duplicate structure field Américo Wang
2009-09-21 16:05   ` [PATCH 5/5] arch/um: remove duplicate structure field initialization Américo Wang
2009-09-21 16:26   ` Segher Boessenkool
2009-09-21 16:26     ` Segher Boessenkool
2009-09-22 14:05     ` [PATCH 5/5] arch/um: remove duplicate structure field Américo Wang
2009-09-22 14:05       ` [PATCH 5/5] arch/um: remove duplicate structure field initialization Américo Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.