From a1bae605b48f98748f247a9cde79e25803774c1b Mon Sep 17 00:00:00 2001 From: deal Date: Wed, 3 Nov 2004 20:11:49 +0000 Subject: [PATCH] Work around a really stupid problem with icc7. git-svn-id: https://svn.dealii.org/trunk@9745 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/lac/source/sparse_direct.cc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/deal.II/lac/source/sparse_direct.cc b/deal.II/lac/source/sparse_direct.cc index 46b0d5f4cc..1611aa0bcc 100644 --- a/deal.II/lac/source/sparse_direct.cc +++ b/deal.II/lac/source/sparse_direct.cc @@ -22,6 +22,22 @@ #include #include + +// this is a weird hack: on newer linux systems, some system headers +// include /usr/include/linux/compiler.h which explicitly checks which +// gcc is in use. in that file is also a comment that explains that +// the check for gcc version also applies to icc since icc identifies +// itself as gcc via __GNUC__; if the gcc major version is not >=2, it +// aborts. +// +// now, only icc8 and later identify themselves as gcc, so older icc +// versions fail to compile this file on such systems. to avoid this +// failure, we allow icc to identify itself as gcc if it doesn't +// already do so by itself: +#if defined(__INTEL_COMPILER) && !defined(__GNUC__) +# define __GNUC__ 3 +#endif + #include #include #include -- 2.39.5