DragonFly kernel List (threaded) for 2003-11
Re: Non-gcc compilers
Matthew Dillon schrieb:
Hi Alexander. This is very interesting work.
Please check if you have the patch with the in_cksum.c diff (using the
asm version doesn't work with icc, ATM I don't know if this is a bug in
the asm or in icc).
Jeroen, I don't think it can be committed straight, there are some
issues I would like to rework... the __INTEL_COMPILER stuff, for
example, is a pretty bad hack. I would prefer creating a
__INLINES_SUPPORTED__ def in sys/cdefs.h.
The cdefs.h changes are because of gcc extensions. And I'm not sure if
every place where I use __INTEL_COMPILER or __ICC includes cdefs.h, so
it may be necessary to include the "__INLINES_SUPPORTED__" detection
into more than one file.
Let me do a first test/commit pass on it to try to reduce the size of
the external patch set. This may break the patch set for a short
period until Alexander can catch up.
I tried to make the patch short and non-intrusive. Not every compiler is
supposed to know about gcc extensions or the syntax of gcc inlines, so I
think you should name the defines __GCC_STYLE_INLINES_SUPPORTED__ and
__GCC_EXTENSIONS_SUPPORTED__ (the last one may be misleading, as not
every extension may be used, e.g. the printf0 attribute is FreeBSD
specific, and icc doesn't know about it). As icc is supposed to be
usable as a replacement for gcc (and icc v8 will define __GNUC__ when it
gets released), I extended the actual compiler specific parts instead of
creating "general" feature tests.
I'm open to suggestions.