Re: [RFC] duplicate #include check for build system

From: Jan Engelhardt
Date: Fri Feb 24 2006 - 02:21:16 EST


>> I think the kernel style is to encourage duplicate includes, rather than
>> removing them. Removing duplicate includes won't remove any dependancies
>> (since the includes that they duplicate will remain).
>The style as I have understood it is that each .h file in include/linux/
>are supposed to be self-contained. So it includes what is needs, and the
>'what it needs' are kept small.
>
>Keeping the 'what it needs' part small is a challenge resulting in
>smaller .h files. But also a good way to keep related things together.
>
How far does this go? Consider the following hypothetical case:

---dcache.h---
struct dentry {
...
};
---fs.h---
#include "dcache.h"
struct inode {
struct dentry *de;
};

Since only a pointer to struct dentry is involved, I would compress it to:

---fs.h---
struct dentry;
struct inode {
struct dentry *de;
};

The fs.h file still "compiles" (gcc -xc fs.h), and there is one file less
to be read. And since dcache.h in this case here should anyway be included
in the .c file if *DE is dereferenced, I do not see a problem with this.
Objections?



Jan Engelhardt
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/