From 408a730f42593c44bdf663687ffeda8bca173cef Mon Sep 17 00:00:00 2001
From: Pietro Incardona <incardon@mpi-cbg.de>
Date: Wed, 9 Nov 2016 23:43:03 +0100
Subject: [PATCH] Eliminating warning

---
 install                                       |   7 +-
 script/detect_gcc                             |  14 +-
 script/install_PETSC.sh                       |   7 +-
 script/set_mpi                                |   2 +-
 .../vector_dist_complex_prp_unit_test.hpp     | 140 +++++++++---------
 5 files changed, 89 insertions(+), 81 deletions(-)

diff --git a/install b/install
index a4d3c6579..1f93170ab 100755
--- a/install
+++ b/install
@@ -163,11 +163,6 @@ if [ ! -d "$i_dir/PETSC" -o ! -d "$i_dir/EIGEN" ]; then
     else
       inst_lin_alg = n
     fi
-
-#    if [ ! x"$choose" == x"0" ]; then
-#        ./script/install_PETSC.sh $i_dir $choose
-#        configure_options="$configure_options --with-PETSC=$i_dir/PETSC "
-#    fi
 fi
 
 lin_alg_dir=""
@@ -301,7 +296,7 @@ else
 
     if [ x"$inst_lin_alg" == x"y" ]; then
         ./script/install_EIGEN.sh $i_dir $ncore
-        ./script/install_PETSC.sh $i_dir $ncore
+        ./script/install_PETSC.sh $i_dir $ncore $CC $CXX $F77 $FC
     fi
 
 	### collect PETSC configuration options
diff --git a/script/detect_gcc b/script/detect_gcc
index a97d65a17..928ec0cc8 100755
--- a/script/detect_gcc
+++ b/script/detect_gcc
@@ -161,9 +161,19 @@ function detect_compiler()
         commands[0]="icpc"
         commands[1]="g++"
         possible_solutions "${commands[@]}"
-        dgc_compiler=$possible_solutions_command
+        if [ x"$possible_solutions_command" == x"icpc" ]; then
+          CXX=icpc
+          CC=icc
+          F77=ifort
+          FC=ifort
+          dgc_compiler=icpc
+        else
+          CXX=g++
+          CC=gcc
+          F77=gfortran
+          FC=gfortran
+        fi
         dgc_ret=1
-        CXX=$dgc_compiler
     fi
 }
 
diff --git a/script/install_PETSC.sh b/script/install_PETSC.sh
index 60268df90..da705619d 100755
--- a/script/install_PETSC.sh
+++ b/script/install_PETSC.sh
@@ -2,6 +2,11 @@
 
 # check if the directory $1/PETSC exist
 
+CXX=$3
+CC=$4
+F77=$5
+FC=$6
+
 if [ -d "$1/PETSC" ]; then
   echo "PETSC already installed"
   exit 0
@@ -9,9 +14,7 @@ fi
 
 # Detect gcc pr clang
 
-source script/detect_gcc
 source script/discover_os
-detect_compiler g++
 discover_os
 
 ##### if we are on osx we use gsed
diff --git a/script/set_mpi b/script/set_mpi
index 348d0fbd4..b73a58c76 100755
--- a/script/set_mpi
+++ b/script/set_mpi
@@ -5,7 +5,7 @@ function set_mpi()
   if [ x"$MPI_valid" == x"yes" ]; then
         configure_options="$configure_options CXX=mpic++ "
   else
-        ./script/install_MPI.sh $1 $2 CC=$3 CXX=$4 F77=$5 FC=$6
+        ./script/install_MPI.sh $1 $2 $3 $4 $5 $6
         MPI_installed=1
         export PATH="$1/MPI/bin:$PATH"
         configure_options="$configure_options CXX=mpic++ "
diff --git a/src/Vector/vector_dist_complex_prp_unit_test.hpp b/src/Vector/vector_dist_complex_prp_unit_test.hpp
index 253259a85..69cebf439 100644
--- a/src/Vector/vector_dist_complex_prp_unit_test.hpp
+++ b/src/Vector/vector_dist_complex_prp_unit_test.hpp
@@ -63,53 +63,53 @@ BOOST_AUTO_TEST_CASE( vector_dist_periodic_complex_prp_test_use_3d )
 
 			// initalize vector property and grid
 
-			vd.template getProp<0>(key).add(vd.getPos(key)[0]);
-			vd.template getProp<0>(key).add(vd.getPos(key)[1]);
-			vd.template getProp<0>(key).add(vd.getPos(key)[2]);
+			vd.getProp<0>(key).add(vd.getPos(key)[0]);
+			vd.getProp<0>(key).add(vd.getPos(key)[1]);
+			vd.getProp<0>(key).add(vd.getPos(key)[2]);
 
-			vd.template getProp<0>(key).add(vd.getPos(key)[0]+vd.getPos(key)[1]);
-			vd.template getProp<0>(key).add(vd.getPos(key)[1]+vd.getPos(key)[2]);
-			vd.template getProp<0>(key).add(vd.getPos(key)[0]+vd.getPos(key)[2]);
+			vd.getProp<0>(key).add(vd.getPos(key)[0]+vd.getPos(key)[1]);
+			vd.getProp<0>(key).add(vd.getPos(key)[1]+vd.getPos(key)[2]);
+			vd.getProp<0>(key).add(vd.getPos(key)[0]+vd.getPos(key)[2]);
 
 			// Grid
 			size_t sz[] = {3,3,3};
-			vd.template getProp<1>(key).resize(sz);
+			vd.getProp<1>(key).resize(sz);
 
-			vd.template getProp<1>(key).template get<0>({0,0,0}) = vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({0,0,1}) = vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({0,0,2}) = vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({0,0,0}) = vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({0,0,1}) = vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({0,0,2}) = vd.getPos(key)[2];
 
-			vd.template getProp<1>(key).template get<0>({0,1,0}) = 2.0*vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({0,1,1}) = 2.0*vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({0,1,2}) = 2.0*vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({0,1,0}) = 2.0*vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({0,1,1}) = 2.0*vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({0,1,2}) = 2.0*vd.getPos(key)[2];
 
-			vd.template getProp<1>(key).template get<0>({0,2,0}) = 3.0*vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({0,2,1}) = 3.0*vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({0,2,2}) = 3.0*vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({0,2,0}) = 3.0*vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({0,2,1}) = 3.0*vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({0,2,2}) = 3.0*vd.getPos(key)[2];
 
-			vd.template getProp<1>(key).template get<0>({1,0,0}) = 4.0*vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({1,0,1}) = 4.0*vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({1,0,2}) = 4.0*vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({1,0,0}) = 4.0*vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({1,0,1}) = 4.0*vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({1,0,2}) = 4.0*vd.getPos(key)[2];
 
-			vd.template getProp<1>(key).template get<0>({1,1,0}) = 5.0*vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({1,1,1}) = 5.0*vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({1,1,2}) = 5.0*vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({1,1,0}) = 5.0*vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({1,1,1}) = 5.0*vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({1,1,2}) = 5.0*vd.getPos(key)[2];
 
-			vd.template getProp<1>(key).template get<0>({1,2,0}) = 6.0*vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({1,2,1}) = 6.0*vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({1,2,2}) = 6.0*vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({1,2,0}) = 6.0*vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({1,2,1}) = 6.0*vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({1,2,2}) = 6.0*vd.getPos(key)[2];
 
-			vd.template getProp<1>(key).template get<0>({2,0,0}) = 7.0*vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({2,0,1}) = 7.0*vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({2,0,2}) = 7.0*vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({2,0,0}) = 7.0*vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({2,0,1}) = 7.0*vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({2,0,2}) = 7.0*vd.getPos(key)[2];
 
-			vd.template getProp<1>(key).template get<0>({2,1,0}) = 8.0*vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({2,1,1}) = 8.0*vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({2,1,2}) = 8.0*vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({2,1,0}) = 8.0*vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({2,1,1}) = 8.0*vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({2,1,2}) = 8.0*vd.getPos(key)[2];
 
-			vd.template getProp<1>(key).template get<0>({2,2,0}) = 9.0*vd.getPos(key)[0];
-			vd.template getProp<1>(key).template get<0>({2,2,1}) = 9.0*vd.getPos(key)[1];
-			vd.template getProp<1>(key).template get<0>({2,2,2}) = 9.0*vd.getPos(key)[2];
+			vd.getProp<1>(key).get<0>({2,2,0}) = 9.0*vd.getPos(key)[0];
+			vd.getProp<1>(key).get<0>({2,2,1}) = 9.0*vd.getPos(key)[1];
+			vd.getProp<1>(key).get<0>({2,2,2}) = 9.0*vd.getPos(key)[2];
 
 			++it;
 		}
@@ -171,54 +171,54 @@ BOOST_AUTO_TEST_CASE( vector_dist_periodic_complex_prp_test_use_3d )
 		{
 			auto key = it3.get();
 
-			ret &= vd.template getProp<0>(key).size() == 6;
+			ret &= vd.getProp<0>(key).size() == 6;
 
-			ret &= vd.template getProp<0>(key).get(0) == vd.getPos(key)[0];
-			ret &= vd.template getProp<0>(key).get(1) == vd.getPos(key)[1];
-			ret &= vd.template getProp<0>(key).get(2) == vd.getPos(key)[2];
+			ret &= vd.getProp<0>(key).get(0) == vd.getPos(key)[0];
+			ret &= vd.getProp<0>(key).get(1) == vd.getPos(key)[1];
+			ret &= vd.getProp<0>(key).get(2) == vd.getPos(key)[2];
 
-			ret &= vd.template getProp<0>(key).get(3) == vd.getPos(key)[0]+vd.getPos(key)[1];
-			ret &= vd.template getProp<0>(key).get(4) == vd.getPos(key)[1]+vd.getPos(key)[2];
-			ret &= vd.template getProp<0>(key).get(5) == vd.getPos(key)[0]+vd.getPos(key)[2];
+			ret &= vd.getProp<0>(key).get(3) == vd.getPos(key)[0]+vd.getPos(key)[1];
+			ret &= vd.getProp<0>(key).get(4) == vd.getPos(key)[1]+vd.getPos(key)[2];
+			ret &= vd.getProp<0>(key).get(5) == vd.getPos(key)[0]+vd.getPos(key)[2];
 
-//			BOOST_REQUIRE_EQUAL(vd.template getProp<0>(key).get(0),vd.getPos(key)[0]);
+//			BOOST_REQUIRE_EQUAL(vd.getProp<0>(key).get(0),vd.getPos(key)[0]);
 
-			ret &= vd.template getProp<1>(key).size() == 3*3*3;
-			ret &= vd.template getProp<1>(key).template get<0>({0,0,0}) == vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({0,0,1}) == vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({0,0,2}) == vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).size() == 3*3*3;
+			ret &= vd.getProp<1>(key).get<0>({0,0,0}) == vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({0,0,1}) == vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({0,0,2}) == vd.getPos(key)[2];
 
-			ret &= vd.template getProp<1>(key).template get<0>({0,1,0}) == 2.0*vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({0,1,1}) == 2.0*vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({0,1,2}) == 2.0*vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).get<0>({0,1,0}) == 2.0*vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({0,1,1}) == 2.0*vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({0,1,2}) == 2.0*vd.getPos(key)[2];
 
-			ret &= vd.template getProp<1>(key).template get<0>({0,2,0}) == 3.0*vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({0,2,1}) == 3.0*vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({0,2,2}) == 3.0*vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).get<0>({0,2,0}) == 3.0*vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({0,2,1}) == 3.0*vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({0,2,2}) == 3.0*vd.getPos(key)[2];
 
-			ret &= vd.template getProp<1>(key).template get<0>({1,0,0}) == 4.0*vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({1,0,1}) == 4.0*vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({1,0,2}) == 4.0*vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).get<0>({1,0,0}) == 4.0*vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({1,0,1}) == 4.0*vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({1,0,2}) == 4.0*vd.getPos(key)[2];
 
-			ret &= vd.template getProp<1>(key).template get<0>({1,1,0}) == 5.0*vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({1,1,1}) == 5.0*vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({1,1,2}) == 5.0*vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).get<0>({1,1,0}) == 5.0*vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({1,1,1}) == 5.0*vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({1,1,2}) == 5.0*vd.getPos(key)[2];
 
-			ret &= vd.template getProp<1>(key).template get<0>({1,2,0}) == 6.0*vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({1,2,1}) == 6.0*vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({1,2,2}) == 6.0*vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).get<0>({1,2,0}) == 6.0*vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({1,2,1}) == 6.0*vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({1,2,2}) == 6.0*vd.getPos(key)[2];
 
-			ret &= vd.template getProp<1>(key).template get<0>({2,0,0}) == 7.0*vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({2,0,1}) == 7.0*vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({2,0,2}) == 7.0*vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).get<0>({2,0,0}) == 7.0*vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({2,0,1}) == 7.0*vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({2,0,2}) == 7.0*vd.getPos(key)[2];
 
-			ret &= vd.template getProp<1>(key).template get<0>({2,1,0}) == 8.0*vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({2,1,1}) == 8.0*vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({2,1,2}) == 8.0*vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).get<0>({2,1,0}) == 8.0*vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({2,1,1}) == 8.0*vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({2,1,2}) == 8.0*vd.getPos(key)[2];
 
-			ret &= vd.template getProp<1>(key).template get<0>({2,2,0}) == 9.0*vd.getPos(key)[0];
-			ret &= vd.template getProp<1>(key).template get<0>({2,2,1}) == 9.0*vd.getPos(key)[1];
-			ret &= vd.template getProp<1>(key).template get<0>({2,2,2}) == 9.0*vd.getPos(key)[2];
+			ret &= vd.getProp<1>(key).get<0>({2,2,0}) == 9.0*vd.getPos(key)[0];
+			ret &= vd.getProp<1>(key).get<0>({2,2,1}) == 9.0*vd.getPos(key)[1];
+			ret &= vd.getProp<1>(key).get<0>({2,2,2}) == 9.0*vd.getPos(key)[2];
 
 			++it3;
 		}
-- 
GitLab