All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Américo Wang" <xiyou.wangcong@gmail.com>
To: Julia Lawall <julia@diku.dk>
Cc: jdike@addtoit.com, user-mode-linux-user@lists.sourceforge.net,
	user-mode-linux-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [PATCH 5/5] arch/um: remove duplicate structure field
Date: Mon, 21 Sep 2009 16:05:32 +0000	[thread overview]
Message-ID: <20090921160532.GC3868@hack> (raw)
In-Reply-To: <Pine.LNX.4.64.0909192149250.27171@ask.diku.dk>

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.
 

WARNING: multiple messages have this Message-ID (diff)
From: "Américo Wang" <xiyou.wangcong@gmail.com>
To: Julia Lawall <julia@diku.dk>
Cc: jdike@addtoit.com, user-mode-linux-user@lists.sourceforge.net,
	user-mode-linux-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
Subject: Re: [PATCH 5/5] arch/um: remove duplicate structure field initialization
Date: Tue, 22 Sep 2009 00:05:32 +0800	[thread overview]
Message-ID: <20090921160532.GC3868@hack> (raw)
In-Reply-To: <Pine.LNX.4.64.0909192149250.27171@ask.diku.dk>

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.
 

  reply	other threads:[~2009-09-21 16:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Américo Wang [this message]
2009-09-21 16:05   ` 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

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=20090921160532.GC3868@hack \
    --to=xiyou.wangcong@gmail.com \
    --cc=jdike@addtoit.com \
    --cc=julia@diku.dk \
    --cc=kernel-janitors@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    --cc=user-mode-linux-user@lists.sourceforge.net \
    /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 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.