[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#218447: linux-kernel-headers: INTEL C++ Compiler not working anymore



On Fri, Oct 31, 2003 at 02:01:32PM +0100, Hartmut Manz wrote:
> Package: linux-kernel-headers
> Version: 2.5.999-test7-bk-5
> Severity: important
> Tags: patch sid
> 
> The include file linux/compiler.h assumes that the INTEL C++ compiler
> sets the SYMBOL GCC. This is not true (at least not for V7.1)

I believe it has a compatibility option which causes it to define that
macro.  I don't know what version it was introduced, since I do not use
non-free compilers.

> 
> Here are a list of the defined preprocessor symbols
> permnew@xeon1:~> icc -v -E k.c
> /opt/intel/compiler70/ia32/bin/mcpcom  \
>     -_g \
>     -mP3OPT_inline_alloca \
>     -D__HONOR_STD \
>     -D__ICC=700 \
>     -D__INTEL_COMPILER=700 \
>     -D_M_IX86=700 \

Er, is that really 7.1?


> Here are a patch which fixes the problem for me
> 
> --- compiler.h_orig     2003-10-31 13:55:57.000000000 +0100
> +++ compiler.h  2003-10-31 13:45:19.000000000 +0100
> @@ -15,6 +15,8 @@
>  # include <linux/compiler-gcc3.h>
>  #elif __GNUC__ == 2
>  # include <linux/compiler-gcc2.h>
> +#elif __INTEL_COMPILER >= 700
> +# include <linux/compiler-intel.h>
>  #else
>  # error Sorry, your compiler is too old/not recognized.
>  #endif
> @@ -23,7 +25,7 @@
>   * coming from above header files here
>   */
>  #ifdef __INTEL_COMPILER
> -# include <linux/compiler-itel.h>
> +# include <linux/compiler-intel.h>
>  #endif
> 
>  /*

I'm pretty sure that this version of the Intel compiler can not handle
other constructs in the kernel headers, which is why it isn't
supported.  But the patch seems reasonable for userspace, for the
moment.  Thanks.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



Reply to: