All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Robert P. J. Day" <rpjday@crashcourse.ca>
To: Christopher Li <sparse@chrisli.org>
Cc: Sam Ravnborg <sam@ravnborg.org>, sparse <linux-sparse@vger.kernel.org>
Subject: Re: Detect unused header files?
Date: Tue, 28 Jul 2009 16:36:38 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LFD.2.00.0907281634400.3974@localhost> (raw)
In-Reply-To: <70318cbf0907281336p47b68b5cg44a3e7206646cb80@mail.gmail.com>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1466 bytes --]

On Tue, 28 Jul 2009, Christopher Li wrote:

> But a lot of case we have the header file is used in *another*
> file.
>
> >
> > Sample:
> >
> > cat foo.h:
> > #include <linux/types.h>
> > #include <linux/swab.h>
> >
> > struct foo {
> >        __u32 bar;
> >        __u32 baz;
> > };
> >
> > EOF
> >
> >
> > Here <linux/swab.h> is obviously not used.
> > And I would like sparse to flag this...
>
> I don't think it is can be turn on by default. What if some user
> space program want to include foo.h and use the definitional inside
> "swab.h"? In that case it will be OK. I don't think we can ban this
> kind of the usage case.

  sure you can.  no one should be counting on the inclusion of header
files by other header files (except possibly in unusual situations,
which i can't even think of at the moment).  if your program needs the
contents of a header file, it's your responsibility to include it.

rday
--


========================================================================
Robert P. J. Day                               Waterloo, Ontario, CANADA

        Linux Consulting, Training and Annoying Kernel Pedantry.

Web page:                                          http://crashcourse.ca
Twitter:                                       http://twitter.com/rpjday
"Kernel Newbie Corner" column @ linux.com:          http://cli.gs/WG6WYX
========================================================================

  reply	other threads:[~2009-07-28 20:39 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-28 18:18 Detect unused header files? Sam Ravnborg
2009-07-28 20:36 ` Christopher Li
2009-07-28 20:36   ` Robert P. J. Day [this message]
2009-07-28 20:49     ` Christopher Li
2009-07-28 21:04       ` Sam Ravnborg
2009-07-28 21:38         ` Christopher Li
2009-07-30 10:55           ` Christopher Li
2009-07-30 11:12             ` Derek M Jones
2009-07-30 20:36             ` Sam Ravnborg
2009-08-04 21:49               ` Christopher Li
2009-08-05  6:12                 ` Sam Ravnborg
2009-08-06 11:14                 ` Marko Kreen
2009-08-06 11:17                   ` Robert P. J. Day
2009-08-06 12:16                     ` Kamil Dudka
2009-08-06 12:15                       ` Robert P. J. Day
2009-08-06 13:01                       ` Kamil Dudka
2009-08-06 13:26                         ` Michael Stefaniuc
2009-08-06 14:09                           ` Robert P. J. Day
2009-08-06 17:39                   ` Christopher Li
2009-07-28 20:58   ` Sam Ravnborg
2009-07-28 21:21     ` Christopher Li

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=alpine.LFD.2.00.0907281634400.3974@localhost \
    --to=rpjday@crashcourse.ca \
    --cc=linux-sparse@vger.kernel.org \
    --cc=sam@ravnborg.org \
    --cc=sparse@chrisli.org \
    /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.