Index: /issm/trunk-jpl/externalpackages/adolc/install-withampi.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/adolc/install-withampi.sh	(revision 19489)
+++ /issm/trunk-jpl/externalpackages/adolc/install-withampi.sh	(revision 19490)
@@ -5,5 +5,5 @@
 rm -rf install src
 
-git clone -b ampi git://git.mcs.anl.gov/adol-c.git src
+git clone https://gitlab.com/adol-c/adol-c.git src
 #git reset --hard b254b2a001a1b7a024a9184cd087ae06eb975cad
 
Index: /issm/trunk-jpl/m4/issm_options.m4
===================================================================
--- /issm/trunk-jpl/m4/issm_options.m4	(revision 19489)
+++ /issm/trunk-jpl/m4/issm_options.m4	(revision 19490)
@@ -722,4 +722,5 @@
 	fi
 	AM_CONDITIONAL([ADOLC], [test x$HAVE_ADOLC = xyes])
+        AM_COND_IF(ADOLC,[CXXFLAGS+=" -std=c++11"])
 	dnl }}}
 	dnl adolc-version{{{
Index: /issm/trunk-jpl/src/c/cores/ad_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/ad_core.cpp	(revision 19489)
+++ /issm/trunk-jpl/src/c/cores/ad_core.cpp	(revision 19490)
@@ -116,7 +116,4 @@
 			femmodel->parameters->FindParam(&driver,AutodiffDriverEnum);
 
-			/* these are always needed regardless of the interpreter */
-			anEDF_for_solverx_p->dp_x=xNew<double>(anEDF_for_solverx_p->max_n);
-			anEDF_for_solverx_p->dp_y=xNew<double>(anEDF_for_solverx_p->max_m);
 
 			if (strcmp(driver,"fos_forward")==0){ /*{{{*/
@@ -143,7 +140,4 @@
 #endif
 
-				/*allocate the space for the parameters to invoke the EDF fos_forward:*/
-				anEDF_for_solverx_p->dp_X=xNew<double>(anEDF_for_solverx_p->max_n);
-				anEDF_for_solverx_p->dp_Y=xNew<double>(anEDF_for_solverx_p->max_m);
 
 				/*call driver: */
@@ -190,7 +184,4 @@
 				// anEDF_for_solverx_p->fov_reverse=EDF_fov_reverse_for_solverx;
 
-				/*allocate the space for the parameters to invoke EDF fov_forward:*/
-				anEDF_for_solverx_p->dpp_X=xNew<double>(anEDF_for_solverx_p->max_n, tangentDirNum);
-				anEDF_for_solverx_p->dpp_Y=xNew<double>(anEDF_for_solverx_p->max_m, tangentDirNum);
 
 				/*seed matrix: */
@@ -252,7 +243,4 @@
 #endif
 
-				/*allocate the space for the parameters to invoke the EDF fos_reverse :*/
-				anEDF_for_solverx_p->dp_U=xNew<double>(anEDF_for_solverx_p->max_m);
-				anEDF_for_solverx_p->dp_Z=xNew<double>(anEDF_for_solverx_p->max_n);
 
 				/*call driver: */
@@ -296,7 +284,4 @@
 				#endif
 
-				/*allocate the space for the parameters to invoke the EDF fos_reverse :*/
-				anEDF_for_solverx_p->dpp_U=xNew<double>(weightNum,anEDF_for_solverx_p->max_m);
-				anEDF_for_solverx_p->dpp_Z=xNew<double>(weightNum,anEDF_for_solverx_p->max_n);
 
 				/*seed matrix: */
@@ -331,15 +316,4 @@
 			else _error_("driver: " << driver << " not yet supported!");
 
-			/* delete the allocated space for the parameters:*/
-			xDelete(anEDF_for_solverx_p->dp_x);
-			xDelete(anEDF_for_solverx_p->dp_X);
-			xDelete(anEDF_for_solverx_p->dpp_X);
-			xDelete(anEDF_for_solverx_p->dp_y);
-			xDelete(anEDF_for_solverx_p->dp_Y);
-			xDelete(anEDF_for_solverx_p->dpp_Y);
-			xDelete(anEDF_for_solverx_p->dp_U);
-			xDelete(anEDF_for_solverx_p->dpp_U);
-			xDelete(anEDF_for_solverx_p->dp_Z);
-			xDelete(anEDF_for_solverx_p->dpp_Z);
 
 			if(VerboseAutodiff())_printf0_("   end AD core\n");
Index: /issm/trunk-jpl/src/c/shared/Numerics/isnan.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Numerics/isnan.h	(revision 19489)
+++ /issm/trunk-jpl/src/c/shared/Numerics/isnan.h	(revision 19490)
@@ -13,5 +13,5 @@
 
 /*If include cmath instead of math, isnan on linux64 murdo does not work: */
-#include <math.h>
+#include <cmath>
 
 template <class T> int xIsNan(const T& X) {
@@ -19,5 +19,5 @@
 		return (X!=X)?1:0;
 #else
-		return isnan(X);
+		return std::isnan(X);
 #endif
 }
Index: /issm/trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp	(revision 19489)
+++ /issm/trunk-jpl/src/c/toolkits/gsl/DenseGslSolve.cpp	(revision 19490)
@@ -232,15 +232,11 @@
         for(int i=0; i<n*n;i++)adoubleEDFin[i]    =A[i];      // pack matrix
         for(int i=0; i<n;  i++)adoubleEDFin[i+n*n]=B[i];      // pack the right hand side
-        IssmPDouble* pdoubleEDFin=xNew<IssmPDouble>(n*(n+1)); // provide space to transfer inputs during call_ext_fct
-	IssmPDouble* pdoubleEDFout=xNew<IssmPDouble>(n);           // provide space to transfer outputs during call_ext_fct
 	// call the wrapped solver through the registry entry we retrieve from parameters
 	call_ext_fct(xDynamicCast<GenericParam<Adolc_edf> * >(parameters->FindParamObject(AdolcParamEnum))->GetParameterValue().myEDF_for_solverx_p,
-	             n*(n+1), pdoubleEDFin, adoubleEDFin,
-	             n, pdoubleEDFout,X);
+	             n*(n+1), adoubleEDFin,
+	             n, X);
 	// for(int i=0; i<n;  i++) {ADOLC_DUMP_MACRO(X[i]);}
 	xDelete(adoubleEDFin);
-	xDelete(pdoubleEDFin);
-	xDelete(pdoubleEDFout);
-}
-/*}}}*/
-#endif
+}
+/*}}}*/
+#endif
