LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: David Rientjes <rientjes@google.com>
To: Adrian Bunk <bunk@stusta.de>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [patch 01/10] compiler: define __attribute_unused__
Date: Thu, 3 May 2007 12:24:17 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0705031213510.2813@chino.kir.corp.google.com> (raw)
In-Reply-To: <20070503190522.GM3531@stusta.de>

On Thu, 3 May 2007, Adrian Bunk wrote:

> > static external variables are certainly still static code and gcc issues 
> > the proper warnings if I do:
> > 
> > 	static struct bootnode nodes[MAX_NUMNODES];
> > 
> > and I never reference nodes.
> 
> No disagreement.
> 
> But you said:
>   What about automatic or static external variables that are declared but ...
> 

Ahh, I see the problem.  I was talking about "automatic variables" and 
"static external variables" implicitly, both of which emit compiler 
warnings if they are unreferenced as we saw in the arch/i386/pci/init.c 
case and the example above, respectively.

The only advantage this gives us as opposed to just removing an 
unreferenced variable completely is the case when its usage depends on 
multiple preprocessor macros.  Like in the arch/i386/pci/init.c example, 
the use of 'type' depends on CONFIG_PCI_DIRECT or CONFIG_PCI_MMCONFIG.  It 
gets sloppy pretty quickly when we're adding

	#if defined(CONFIG_PCI_DIRECT) || defined(CONFIG_PCI_MMCONFIG)

around the variable declarations.  Unfortunately we still have the 
drawback of perhaps leaving abandoned declarations in the code but now 
there will be an easy way to detect it: defining __maybe_unused and __used 
to be empty.  Then we won't have hardcoded __attribute__ ((unused)) text 
sprinkled around the tree that would require examination on an individual 
basis.

		David

      reply	other threads:[~2007-05-03 19:28 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-02  4:28 [patch 01/10] compiler: define __attribute_unused__ David Rientjes
2007-05-02  4:28 ` [patch 02/10] i386 pci: type may be unused David Rientjes
2007-05-02  4:28   ` [patch 03/10] sh: dma: use __attribute_unused__ David Rientjes
2007-05-02  4:28     ` [patch 04/10] scsi: fix ambiguous gdthtable definition David Rientjes
2007-05-02  4:28       ` [patch 05/10] frv: gdb: use __attribute_unused__ David Rientjes
2007-05-02  4:28         ` [patch 06/10] i386: voyager: " David Rientjes
2007-05-02  4:28           ` [patch 07/10] mips: excite: " David Rientjes
2007-05-02  4:28             ` [patch 08/10] mips: tlbex: " David Rientjes
2007-05-02  4:28               ` [patch 09/10] powerpc: ps3: " David Rientjes
2007-05-02  4:28                 ` [patch 10/10] i386 mmzone: " David Rientjes
2007-05-02 15:42                 ` [patch 09/10] powerpc: ps3: " Geoff Levand
2007-05-03 17:23               ` [patch 08/10] mips: tlbex: " Ralf Baechle
2007-05-03 17:23             ` [patch 07/10] mips: excite: " Ralf Baechle
2007-05-07  1:28     ` [patch 03/10] sh: dma: " Paul Mundt
2007-05-02 10:35   ` [patch 02/10] i386 pci: type may be unused Andi Kleen
2007-05-02 17:05     ` David Rientjes
2007-05-02  5:17 ` [patch 01/10] compiler: define __attribute_unused__ Alexey Dobriyan
2007-05-02  5:53   ` David Rientjes
2007-05-02  6:08     ` Andrew Morton
2007-05-02  6:46       ` Nick Piggin
2007-05-02  6:33     ` WANG Cong
2007-05-02  7:02   ` Robert P. J. Day
2007-05-02  7:17     ` David Rientjes
2007-05-02  7:47       ` Robert P. J. Day
2007-05-02  5:40 ` Rusty Russell
2007-05-02  6:06   ` David Rientjes
2007-05-02  6:25     ` David Rientjes
2007-05-02  6:29     ` Rusty Russell
2007-05-02  6:41       ` David Rientjes
2007-05-02  6:52         ` Andrew Morton
2007-05-02  7:04         ` Rusty Russell
2007-05-02  7:22           ` David Rientjes
2007-05-02  7:51             ` Rusty Russell
2007-05-02 14:55             ` Adrian Bunk
2007-05-02 15:05               ` Adrian Bunk
2007-05-02 17:16                 ` David Rientjes
2007-05-03 17:51                   ` Adrian Bunk
2007-05-03 18:56                     ` David Rientjes
2007-05-03 19:05                       ` Adrian Bunk
2007-05-03 19:24                         ` David Rientjes [this message]

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=Pine.LNX.4.64.0705031213510.2813@chino.kir.corp.google.com \
    --to=rientjes@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=bunk@stusta.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    /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).