System headers with clang?
dim at FreeBSD.org
Tue Oct 11 13:51:46 UTC 2011
On 2011-10-11 15:31, Larry Rosenman wrote:
> On Tue, 11 Oct 2011, Dimitry Andric wrote:
>> I've attached a fix for the lsof port, which also makes it build on
>> 10.0-CURRENT (this was easy to fix here, as lsof uses its own
>> hand-rolled configuration script). Let me know if it works for you.
> Unless the headers are fixed, Vic Abell (lsof Author) will NOT support it.
> We need to get clang/system headers to allow warning free compilation
> just like GCC does.
The system headers compile without warning, if you use them as intended
(e.g. from the kernel), which lsof obviously doesn't do. There is no
easy workaround here, except by modifying lsof.
For example, the warning about KASSERT is because lsof's headers don't
include the required headers for this macro. And gcc is apparently not
smart enough to generate warnings for this. :)
In any case, isn't lsof's dlsof.h header full of special cases already?
What does it matter to add another one?
Besides, even if you fix it in the system headers now, at compile time
you cannot be sure if the user has the correct version of them installed
anyway, so you would still have to work around the problem.
More information about the freebsd-current