From 033282d5bf188a18cdfa51a68ed09a0cc7f8492a Mon Sep 17 00:00:00 2001
From: Pietro Incardona <i-bird@private-incardon-3.mpi-cbg.de>
Date: Thu, 11 Aug 2016 20:29:18 +0200
Subject: [PATCH] Fixin MPI detection

---
 install                                       |  4 ++--
 src/Decomposition/CartDecomposition.hpp       |  2 +-
 .../Distribution/parmetis_dist_util.hpp       | 19 +++++++++++++++++++
 .../Distribution/parmetis_util.hpp            |  3 +++
 src/Decomposition/common.hpp                  |  4 ++--
 src/Vector/vector_dist_performance_util.hpp   |  5 -----
 src/Vector/vector_dist_unit_test.hpp          |  6 +++---
 7 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/install b/install
index fe9aff2cc..5002ed22a 100755
--- a/install
+++ b/install
@@ -366,7 +366,7 @@ else
   bash_library="export DYLD_LIBRARY_PATH=\"\$DYLD_LIBRARY_PATH"
 fi
 
-bash_path="export PATH=\"\$PATH"
+bash_path="export PATH=\""
 
 echo -e "\033[1;34;5m ---------------------------------------  \033[0m"
 echo -e "\033[1;34;5m --------- INSTALLATION REPORT ---------  \033[0m"
@@ -376,7 +376,7 @@ echo ""
 
 if [ -d "$i_dir/MPI" ]; then
   installation_report="$installation_report \033[92;1mMPI\033[0m Installed: \033[1m $i_dir/MPI \033[0m\n"
-  bash_path="$i_dir/MPI/bin:$bash_path"
+  bash_path="$bash_path:$i_dir/MPI/bin:$PATH"
   bash_library="$bash_library:$i_dir/MPI/lib"
 elif [ $MPI_System_prv -eq 1 ]; then
   installation_report="$installation_report \033[92;1mMPI\033[0m Installed: \033[1m System installation \033[0m\n"
diff --git a/src/Decomposition/CartDecomposition.hpp b/src/Decomposition/CartDecomposition.hpp
index 212408c80..28df5e5f6 100755
--- a/src/Decomposition/CartDecomposition.hpp
+++ b/src/Decomposition/CartDecomposition.hpp
@@ -155,7 +155,7 @@ protected:
 	HeapMemory hp_recv;
 
 	// Receive counter
-	size_t recv_cnt;
+	size_t recv_cnt = 0;
 
 	/*! \brief It convert the box from the domain decomposition into sub-domain
 	 *
diff --git a/src/Decomposition/Distribution/parmetis_dist_util.hpp b/src/Decomposition/Distribution/parmetis_dist_util.hpp
index 779b1ad25..288f7cf63 100755
--- a/src/Decomposition/Distribution/parmetis_dist_util.hpp
+++ b/src/Decomposition/Distribution/parmetis_dist_util.hpp
@@ -186,6 +186,25 @@ public:
 	{
 		// TODO Move into VCluster
 		MPI_Comm_dup(MPI_COMM_WORLD, &comm);
+
+		// Nullify Mg
+		Mg.nvtxs = NULL;
+		Mg.ncon = NULL;
+		Mg.xadj = NULL;
+		Mg.adjncy = NULL;
+		Mg.vwgt = NULL;
+		Mg.vsize = NULL;
+		Mg.adjwgt = NULL;
+		Mg.nparts = NULL;
+		Mg.tpwgts = NULL;
+		Mg.ubvec = NULL;
+		Mg.options = NULL;
+		Mg.objval = NULL;
+		Mg.part = NULL;
+		Mg.edgecut = NULL;
+		Mg.itr = NULL;
+		Mg.numflag = NULL;
+		Mg.wgtflag = NULL;
 	}
 
 	//TODO deconstruct new variables
diff --git a/src/Decomposition/Distribution/parmetis_util.hpp b/src/Decomposition/Distribution/parmetis_util.hpp
index 50725c60c..dfac19914 100755
--- a/src/Decomposition/Distribution/parmetis_util.hpp
+++ b/src/Decomposition/Distribution/parmetis_util.hpp
@@ -224,6 +224,9 @@ public:
 		Mg.itr = NULL;
 		Mg.numflag = NULL;
 		Mg.wgtflag = NULL;
+		first.id = 0;
+		last.id = 0;
+		nvertex = 0;
 	}
 
 	//TODO deconstruct new variables
diff --git a/src/Decomposition/common.hpp b/src/Decomposition/common.hpp
index 4278a2326..c2bdf6b9d 100755
--- a/src/Decomposition/common.hpp
+++ b/src/Decomposition/common.hpp
@@ -96,7 +96,7 @@ struct Box_sub_k
 	long int k;
 
 	Box_sub_k()
-	:k(-1)
+	:sub(0),k(-1)
 	{
 		cmb.zero();
 	}
@@ -171,7 +171,7 @@ struct N_box
 
 	//! Default constructor
 	N_box()
-	:id((size_t)-1)
+	:id((size_t)-1),n_real_sub(0)
 	{};
 
 	//! Copy constructor
diff --git a/src/Vector/vector_dist_performance_util.hpp b/src/Vector/vector_dist_performance_util.hpp
index ef9bbdbb4..8b8586b4e 100644
--- a/src/Vector/vector_dist_performance_util.hpp
+++ b/src/Vector/vector_dist_performance_util.hpp
@@ -171,11 +171,6 @@ template<unsigned int dim, unsigned int prp, typename T, typename V> void cross_
 {
 	auto it_v = vd.getDomainIterator();
 
-	float sum[dim];
-
-	for (size_t i = 0; i < dim; i++)
-		sum[i] = 0;
-
 	while (it_v.isNext())
 	{
 		//key
diff --git a/src/Vector/vector_dist_unit_test.hpp b/src/Vector/vector_dist_unit_test.hpp
index b589959c3..49d75477d 100644
--- a/src/Vector/vector_dist_unit_test.hpp
+++ b/src/Vector/vector_dist_unit_test.hpp
@@ -1485,7 +1485,7 @@ BOOST_AUTO_TEST_CASE( vector_dist_cl_random_vs_hilb_forces_test )
 			calc_forces_hilb<dim>(NN_hilb,vd2,r_cut);
 
 			// Calculate average
-			size_t count = 0;
+			size_t count = 1;
 			Point<dim,float> avg;
 			for (size_t i = 0 ; i < dim ; i++)	{avg.get(i) = 0.0;}
 
@@ -1606,8 +1606,8 @@ BOOST_AUTO_TEST_CASE( vector_dist_cl_random_vs_reorder_forces_test )
 			//Calculate forces '1'
 			calc_forces<dim,1>(NN2,vd,r_cut);
 
-			// Calculate average
-			size_t count = 0;
+			// Calculate average (For Coverty scan we start from 1)
+			size_t count = 1;
 			Point<dim,float> avg;
 			for (size_t i = 0 ; i < dim ; i++)	{avg.get(i) = 0.0;}
 
-- 
GitLab