]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Support icc7.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 9 Dec 2002 15:35:12 +0000 (15:35 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 9 Dec 2002 15:35:12 +0000 (15:35 +0000)
git-svn-id: https://svn.dealii.org/trunk@6805 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/aclocal.m4
deal.II/configure
deal.II/doc/development/makefiles.1.html
deal.II/doc/news/2002/c-3-4.html
deal.II/doc/news/news.html

index e0b45599cf187e96669d0bc68a5f05c8c77115a7..97af2fc869c2a67734c068622c571e891f63c7a7 100644 (file)
@@ -100,8 +100,22 @@ AC_DEFUN(DEAL_II_DETERMINE_CXX_BRAND, dnl
         is_intel_icc2="`($CXX -help 2>&1) | grep 'Intel(R) C++ Compiler'`"
        is_intel_icc="$is_intel_icc1$is_intel_icc2"
         if test "x$is_intel_icc" != "x" ; then
-          AC_MSG_RESULT(C++ compiler is Intel ICC)
-          GXX_VERSION=intel_icc
+         version5="`echo $is_intel_icc | grep 'Version 5'`"
+         version6="`echo $is_intel_icc | grep 'Version 6'`"
+         version7="`echo $is_intel_icc | grep 'Version 7'`"
+          if test "x$version5" != "x" ; then
+            AC_MSG_RESULT(C++ compiler is Intel ICC 5)
+            GXX_VERSION=intel_icc5
+          else if test "x$version6" != "x" ; then
+            AC_MSG_RESULT(C++ compiler is Intel ICC 6)
+            GXX_VERSION=intel_icc6
+          else if test "x$version7" != "x" ; then
+            AC_MSG_RESULT(C++ compiler is Intel ICC 7)
+            GXX_VERSION=intel_icc7
+          else
+            AC_MSG_RESULT(C++ compiler is Intel ICC)
+            GXX_VERSION=intel_icc
+          fi fi fi
         else
   
           dnl Intel's ECC C++ compiler for the Itanium?
@@ -291,7 +305,7 @@ AC_DEFUN(DEAL_II_SET_CXX_FLAGS, dnl
           LDFLAGSPIC="-KPIC"
           ;;
   
-      intel_icc)
+      intel_icc*)
           dnl Disable some compiler warnings, as they often are wrong on
           dnl our code:
           dnl #175: `subscript out of range' (doesn't take into account that
@@ -303,16 +317,26 @@ AC_DEFUN(DEAL_II_SET_CXX_FLAGS, dnl
           dnl #525: `type "DataOutBase::DataOutBase" is an inaccessible type
           dnl       (allowed for compatibility)' (I don't understand what the
           dnl       compiler means)
-         dnl
-          dnl Note: we would really like to use  -ansi -Xc, since that
-         dnl is _very_ picky about standard C++, and is thus very efficient
-          dnl in detecting slight standard violations, but these flags are
-          dnl also very efficient in crashing the compiler (it generates a
-          dnl segfault)
           CXXFLAGSG="$CXXFLAGS -Kc++eh -Krtti -w1 -wd175 -wd525 -wd327 -wd424 -DDEBUG -inline_debug_info"
-          CXXFLAGSO="$CXXFLAGS -Kc++eh -Krtti -O2 -tpp6 -axiMK -ip -unroll -w0 -wd424"
+          CXXFLAGSO="$CXXFLAGS -Kc++eh -Krtti -O2 -tpp6 -axiMK -ip -unroll -w0 -wd424 -opt_report_levelmin"
           CXXFLAGSPIC="-KPIC"
           LDFLAGSPIC="-KPIC -shared"
+
+
+          dnl We would really like to use  -ansi -Xc, since that
+         dnl is _very_ picky about standard C++, and is thus very efficient
+          dnl in detecting slight standard violations, but these flags are
+          dnl also very efficient in crashing the compiler (it generates a
+          dnl segfault), at least with versions prior to 7.0. So only
+          dnl use these flags with versions we know are safe
+          dnl
+          dnl Second thing: icc7 allows using alias information for 
+          dnl optimization. Use this.
+          if test "x$GXX_VERSION" != "xintel_icc5" -a \
+                  "x$GXX_VERSION" != "xintel_icc6" ; then
+            CXXFLAGSG="$CXXFLAGSG -Xc -ansi"
+            CXXFLAGSO="$CXXFLAGSO -ansi_alias"
+          fi
           ;;
   
       intel_ecc)
@@ -857,7 +881,7 @@ AC_DEFUN(DEAL_II_SET_MULTITHREADING_FLAGS, dnl
             CXXFLAGSO="$CXXFLAGSO -pthread"
            ;;
 
-        intel_icc)
+        intel_icc*)
             CXXFLAGSG="$CXXFLAGSG"  
             CXXFLAGSO="$CXXFLAGSO -parallel"
            ;;
index 4b3fa90f24abc738136693d0626c0554e067c6cb..79722e08ff4ea23fadea94506dcc85f8f2df4843 100755 (executable)
@@ -2675,9 +2675,26 @@ echo "${ECHO_T}C++ compiler is MIPSpro C++ compiler" >&6
         is_intel_icc2="`($CXX -help 2>&1) | grep 'Intel(R) C++ Compiler'`"
        is_intel_icc="$is_intel_icc1$is_intel_icc2"
         if test "x$is_intel_icc" != "x" ; then
-          echo "$as_me:$LINENO: result: C++ compiler is Intel ICC" >&5
+         version5="`echo $is_intel_icc | grep 'Version 5'`"
+         version6="`echo $is_intel_icc | grep 'Version 6'`"
+         version7="`echo $is_intel_icc | grep 'Version 7'`"
+          if test "x$version5" != "x" ; then
+            echo "$as_me:$LINENO: result: C++ compiler is Intel ICC 5" >&5
+echo "${ECHO_T}C++ compiler is Intel ICC 5" >&6
+            GXX_VERSION=intel_icc5
+          else if test "x$version6" != "x" ; then
+            echo "$as_me:$LINENO: result: C++ compiler is Intel ICC 6" >&5
+echo "${ECHO_T}C++ compiler is Intel ICC 6" >&6
+            GXX_VERSION=intel_icc6
+          else if test "x$version7" != "x" ; then
+            echo "$as_me:$LINENO: result: C++ compiler is Intel ICC 7" >&5
+echo "${ECHO_T}C++ compiler is Intel ICC 7" >&6
+            GXX_VERSION=intel_icc7
+          else
+            echo "$as_me:$LINENO: result: C++ compiler is Intel ICC" >&5
 echo "${ECHO_T}C++ compiler is Intel ICC" >&6
-          GXX_VERSION=intel_icc
+            GXX_VERSION=intel_icc
+          fi fi fi
         else
 
                     is_intel_ecc="`($CXX -V 2>&1) | grep 'Intel(R) C++ Itanium(TM) Compiler'`"
@@ -2875,11 +2892,18 @@ rm -f conftest.$ac_objext conftest.$ac_ext
           LDFLAGSPIC="-KPIC"
           ;;
 
-      intel_icc)
-                                                                                                                                                                         CXXFLAGSG="$CXXFLAGS -Kc++eh -Krtti -w1 -wd175 -wd525 -wd327 -wd424 -DDEBUG -inline_debug_info"
-          CXXFLAGSO="$CXXFLAGS -Kc++eh -Krtti -O2 -tpp6 -axiMK -ip -unroll -w0 -wd424"
+      intel_icc*)
+                                                                                                                        CXXFLAGSG="$CXXFLAGS -Kc++eh -Krtti -w1 -wd175 -wd525 -wd327 -wd424 -DDEBUG -inline_debug_info"
+          CXXFLAGSO="$CXXFLAGS -Kc++eh -Krtti -O2 -tpp6 -axiMK -ip -unroll -w0 -wd424 -opt_report_levelmin"
           CXXFLAGSPIC="-KPIC"
           LDFLAGSPIC="-KPIC -shared"
+
+
+                                                                                                 if test "x$GXX_VERSION" != "xintel_icc5" -a \
+                  "x$GXX_VERSION" != "xintel_icc6" ; then
+            CXXFLAGSG="$CXXFLAGSG -Xc -ansi"
+            CXXFLAGSO="$CXXFLAGSO -ansi_alias"
+          fi
           ;;
 
       intel_ecc)
@@ -3228,7 +3252,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext
             CXXFLAGSO="$CXXFLAGSO -pthread"
            ;;
 
-        intel_icc)
+        intel_icc*)
             CXXFLAGSG="$CXXFLAGSG"
             CXXFLAGSO="$CXXFLAGSO -parallel"
            ;;
index d34fd92f7d4662be0dbffa5a48d6edc18ce2d201..081388bc2c7d5cfff6782ce51b42184cc675a34f 100644 (file)
@@ -66,7 +66,8 @@
            <code>gcc2.97</code>, <code>gcc3.0</code>,
            <code>ibm_xlc</code>, <code>MIPSpro</code>,
           <code>sun_workshop</code>, <code>sun_forte</code>,
-           <code>intel_icc</code>, <code>compaq_cxx</code>. Not all of
+           <code>intel_icc5</code>, <code>intel_icc6</code>, 
+           <code>intel_icc7</code>, <code>compaq_cxx</code>. Not all of
            these compilers are actually supported (see the 
            <a href="../readme.html" target="body">ReadMe file</a> for a
            list of supported compilers and platforms), it is only a list of
index 213c25509679b57a13ae58407e209ac5d87430f2..e8e1481d78d283818595585410365b819e5be73b 100644 (file)
@@ -33,6 +33,22 @@ contributor's names are abbreviated by WB (Wolfgang Bangerth), GK
 <h3>General</h3>
 
 <ol>
+  <li> <p> 
+       New: <acronym>deal.II</acronym> can be compiled with version 7.0 of
+       Intel's icc compiler, which was recently released. Since this compiler
+       finally supports the very restrictive flags <code>-Xc -ansi</code> that
+       check for close conformance with the C++ standard, we use them (previous
+       versions of icc would crash when these two flags are given). This
+       requires that we distinguish between these compiler versions, and the
+       corresponding Makefile variable <code>GXX-VERSION</code> now no longer
+       holds the non-versioned string <code>intel_icc</code> when icc is
+       detected, but rather either <code>intel_icc5</code>,
+       <code>intel_icc6</code>, or <code>intel_icc7</code>, depending on what
+       version of the compiler was detected.
+       <br>
+       (WB 2002/12/05)
+       </p>
+
   <li> <p> 
        Changed: Previously, we just set the preprocessor variable
        <code>DEAL_II_USE_MT</code>, when <code>--with-multithreading</code> was
index a500761e5cc7cea361e376165446e882db8e75b1..41bc84fbf59f356d8a202084f10f1f9ef1664419 100644 (file)
 
 
     <dl>
+      <dt>
+          <strong>2002/12/05: Intel ICC 7.0 compiler supported</strong>
+      </dt>
+      <dd>
+          deal.II now also supports compilation by the recently released
+         Intel's icc 7.0 compiler.
+      </dd>
+      
       <dt>
           <strong>2002/11/27: Modified Incomplete Cholesky decomposition</strong>
       </dt>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.