Index: /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24962)
+++ /issm/trunk-jpl/src/c/classes/Elements/Tria.cpp	(revision 24963)
@@ -5595,4 +5595,14 @@
 	IssmDouble x_element,y_element,z_element,x,y,z,dx,dy,dz,N_azim,E_azim;
 
+	#ifdef _HAVE_RESTRICT_ 
+	IssmDouble* __restrict__ G=NULL;
+	IssmDouble* __restrict__GU=NULL;
+	IssmDouble* __restrict__GN=NULL;
+	IssmDouble* __restrict__GE=NULL;
+	IssmDouble* __restrict__G_elastic_precomputed=NULL;
+	IssmDouble* __restrict__G_rigid_precomputed=NULL;
+	IssmDouble* __restrict__U_elastic_precomputed=NULL;
+	IssmDouble* __restrict__H_elastic_precomputed=NULL;
+	#else
 	IssmDouble* G=NULL;
 	IssmDouble* GU=NULL;
@@ -5603,5 +5613,6 @@
 	IssmDouble* U_elastic_precomputed=NULL;
 	IssmDouble* H_elastic_precomputed=NULL;
-
+	#endif
+ 
 	/*elastic green function:*/
 	IssmDouble* indices=NULL;
@@ -5716,4 +5727,13 @@
 
 	/*Free allocations:*/
+	#ifdef _HAVE_RESTRICT_ 
+	delete indices; 
+	delete G; 
+	delete GU; 
+	if(horiz){
+		delete GN; 
+		delete GE;
+	}
+	#else
 	xDelete(indices);
 	xDelete(G);
@@ -5723,4 +5743,5 @@
 		xDelete(GE);
 	}
+	#endif
 
 	return;
