[cig-commits] commit: Make it compile with C++ and C compilers

Mercurial hg at geodynamics.org
Wed May 11 14:50:11 PDT 2011


changeset:   607:fecc51eb5f13
tag:         tip
user:        Walter Landry <wlandry at caltech.edu>
date:        Wed May 11 13:27:02 2011 -0700
files:       Geometry/src/Delaunay.c Geometry/src/Delaunay.h Geometry/src/ParallelDelaunay.c Geometry/src/ParallelDelaunay.h Geometry/src/TensorMath.c Geometry/tests/ComplexMathSuite.c Geometry/tests/ComplexVectorMathSuite.c Geometry/tests/EdgeSuite.c Geometry/tests/ParallelDelaunaySuite.c Geometry/tests/PlaneSuite.c Geometry/tests/TensorMathSuite.c Geometry/tests/TensorMultMathSuite.c Geometry/tests/VectorMathSuite.c Mesh/src/CartesianGenerator.c Mesh/src/CartesianGenerator.h Mesh/src/CompressionAdaptor.c Mesh/src/Decomp_Sync_Claim.h Mesh/src/Decomp_Sync_Negotiate.h Mesh/src/IGraph.c Mesh/src/MeshAdaptor.c Mesh/src/MeshClass.c Mesh/src/MeshClass.h Mesh/src/MeshGenerator.c Mesh/src/MeshGenerator.h Mesh/src/MeshTopology.c Mesh/src/MeshVariable.c Mesh/src/Mesh_Algorithms.c Mesh/src/Mesh_CentroidAlgorithms.c Mesh/src/Mesh_CentroidType.c Mesh/src/Mesh_ElementType.c Mesh/src/Mesh_HexType.c Mesh/src/Mesh_RegularAlgorithms.c Mesh/src/Remesher.c Mesh/src/SpatialTree.c Mesh/src/SurfaceAdaptor.c Mesh/src/linearSpaceAdaptor.c Mesh/tests/CartesianGeneratorSuite.c Mesh/tests/MeshSuite.c SConscript Shape/src/BelowCosinePlane.c Shape/src/BelowCosinePlane.h Shape/src/BelowPlane.c Shape/src/BelowPlane.h Shape/src/Box.c Shape/src/Box.h Shape/src/ConvexHull.c Shape/src/ConvexHull.h Shape/src/Cylinder.c Shape/src/Cylinder.h Shape/src/Everywhere.c Shape/src/Everywhere.h Shape/src/Intersection.c Shape/src/Intersection.h Shape/src/PolygonShape.c Shape/src/PolygonShape.h Shape/src/PythonShape.c Shape/src/PythonShape.h Shape/src/ShapeClass.c Shape/src/ShapeClass.h Shape/src/Sphere.c Shape/src/Sphere.h Shape/src/Superellipsoid.c Shape/src/Superellipsoid.h Shape/src/Union.c Shape/src/Union.h Shape/tests/ShapeSuite.c Swarm/src/CellLayout.c Swarm/src/CellLayout.h Swarm/src/ElementCellLayout.c Swarm/src/ElementCellLayout.h Swarm/src/FileParticleLayout.c Swarm/src/FileParticleLayout.h Swarm/src/GaussBorderParticleLayout.c Swarm/src/GaussBorderParticleLayout.h Swarm/src/GaussParticleLayout.c Swarm/src/GaussParticleLayout.h Swarm/src/GlobalParticleLayout.c Swarm/src/GlobalParticleLayout.h Swarm/src/LineParticleLayout.c Swarm/src/LineParticleLayout.h Swarm/src/ManualParticleLayout.c Swarm/src/ManualParticleLayout.h Swarm/src/MeshParticleLayout.c Swarm/src/MeshParticleLayout.h Swarm/src/OperatorSwarmVariable.c Swarm/src/OperatorSwarmVariable.h Swarm/src/ParticleCommHandler.c Swarm/src/ParticleCommHandler.h Swarm/src/ParticleLayout.c Swarm/src/ParticleLayout.h Swarm/src/ParticleMovementHandler.c Swarm/src/ParticleMovementHandler.h Swarm/src/ParticleShadowSync.c Swarm/src/ParticleShadowSync.h Swarm/src/PerCellParticleLayout.c Swarm/src/PerCellParticleLayout.h Swarm/src/PlaneParticleLayout.c Swarm/src/PlaneParticleLayout.h Swarm/src/RandomParticleLayout.c Swarm/src/RandomParticleLayout.h Swarm/src/SingleCellLayout.c Swarm/src/SingleCellLayout.h Swarm/src/SpaceFillerParticleLayout.c Swarm/src/SpaceFillerParticleLayout.h Swarm/src/SwarmClass.c Swarm/src/SwarmClass.h Swarm/src/SwarmDump.c Swarm/src/SwarmDump.h Swarm/src/SwarmOutput.c Swarm/src/SwarmOutput.h Swarm/src/SwarmShapeVC.c Swarm/src/SwarmShapeVC.h Swarm/src/SwarmVariable.c Swarm/src/SwarmVariable.h Swarm/src/Swarm_Register.c Swarm/src/TriGaussParticleLayout.c Swarm/src/TriGaussParticleLayout.h Swarm/src/TriSingleCellLayout.c Swarm/src/TriSingleCellLayout.h Swarm/src/UnionParticleLayout.c Swarm/src/UnionParticleLayout.h Swarm/src/WithinShapeParticleLayout.c Swarm/src/WithinShapeParticleLayout.h Swarm/tests/ElementCellLayoutSuite.c Swarm/tests/GaussLayoutSuite.c Swarm/tests/ShadowSyncSuite.c Swarm/tests/SingleCellLayoutSuite.c Utils/src/AllElementsVC.c Utils/src/AllElementsVC.h Utils/src/AllNodesVC.c Utils/src/AllNodesVC.h Utils/src/ContactVC.h Utils/src/CornerVC.c Utils/src/CornerVC.h Utils/src/DofLayout.c Utils/src/DofLayout.h Utils/src/FieldVariable.c Utils/src/FieldVariable.h Utils/src/InnerWallVC.c Utils/src/InnerWallVC.h Utils/src/LinearRegression.c Utils/src/LinearRegression.h Utils/src/MeshBoundaryShape.c Utils/src/MeshShapeVC.c Utils/src/MeshShapeVC.h Utils/src/Operator.c Utils/src/Operator.h Utils/src/OperatorFieldVariable.c Utils/src/OperatorFieldVariable.h Utils/src/RegularMeshUtils.c Utils/src/RegularRemesher.c Utils/src/ShapeAdvector.c Utils/src/ShapeAdvector.h Utils/src/SobolGenerator.c Utils/src/SobolGenerator.h Utils/src/TimeIntegrand.c Utils/src/TimeIntegrand.h Utils/src/TimeIntegrator.c Utils/src/TimeIntegrator.h Utils/src/WallVC.c Utils/src/WallVC.h Utils/tests/AllNodesVCSuite.c Utils/tests/CompositeVCSuite.c Utils/tests/RegularMeshUtilsSuite.c Utils/tests/TimeIntegrationSuite.c libStgDomain/tests/LibDiscretisationSuite.c
description:
Make it compile with C++ and C compilers


diff -r e534f234897d -r fecc51eb5f13 Geometry/src/Delaunay.c
--- a/Geometry/src/Delaunay.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/src/Delaunay.c	Wed May 11 13:27:02 2011 -0700
@@ -301,7 +301,7 @@ void _Delaunay_Print( void* delaunay, St
 	Journal_Printf( stream, "\tNum Voronoi Vertices %d\n", self->numVoronoiVertices );
 }
 
-void *_Delaunay_Copy( void* delaunay, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap )
+void *_Delaunay_Copy( const void* delaunay, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap )
 {
 	return NULL;
 }
@@ -325,8 +325,8 @@ void _Delaunay_AssignFromXML( void* dela
 	
 	assert( pointerRegister  );
 
-	points = Stg_ObjectList_Get( pointerRegister, (Name)"dataPoints"  );
-	attr = Stg_ObjectList_Get( pointerRegister, (Name)"delaunayAttributes"  );
+	points = (float (*)[3])Stg_ObjectList_Get( pointerRegister, (Name)"dataPoints"  );
+	attr = (DelaunayAttributes*)Stg_ObjectList_Get( pointerRegister, (Name)"delaunayAttributes"  );
 
 	numSites = Stg_ComponentFactory_GetUnsignedInt( cf, self->name, (Dictionary_Entry_Key)"numSites", 0  );
 
@@ -527,9 +527,9 @@ void Delaunay_Recurse( Delaunay *delauna
 
 		while (1) 
 		{
-			if (LeftOf(ORG(rdi), ldi)) ldi = LNEXT(ldi);
-			else if (RightOf(ORG(ldi), rdi)) rdi = ONEXT(SYM(rdi));
-			else break;
+                  if (LeftOf((Site*)ORG(rdi), ldi)) ldi = LNEXT(ldi);
+                  else if (RightOf((Site*)ORG(ldi), rdi)) rdi = ONEXT(SYM(rdi));
+                  else break;
 		}
 
 		basel = ConnectQuadEdges(delaunay->qp, SYM(rdi), ldi);
@@ -540,8 +540,8 @@ void Delaunay_Recurse( Delaunay *delauna
 		{
 
 			lcand = ONEXT(SYM(basel));
-			if (RightOf(DEST(lcand), basel))
-				while (InCircle(DEST(basel), ORG(basel), DEST(lcand), DEST(ONEXT(lcand)))) 
+			if (RightOf((Site*)DEST(lcand), basel))
+				while (InCircle((Site*)DEST(basel), (Site*)ORG(basel), (Site*)DEST(lcand), (Site*)DEST(ONEXT(lcand)))) 
 				{
 					QuadEdgeRef t = ONEXT(lcand);
 					
@@ -550,8 +550,8 @@ void Delaunay_Recurse( Delaunay *delauna
 				}
 
 			rcand = OPREV(basel);
-			if (RightOf(DEST(rcand), basel))
-				while (InCircle(DEST(basel), ORG(basel), DEST(rcand), DEST(OPREV(rcand)))) 
+			if (RightOf((Site*)DEST(rcand), basel))
+				while (InCircle((Site*)DEST(basel), (Site*)ORG(basel), (Site*)DEST(rcand), (Site*)DEST(OPREV(rcand)))) 
 				{
 					QuadEdgeRef t = OPREV(rcand);
 
@@ -559,11 +559,11 @@ void Delaunay_Recurse( Delaunay *delauna
 					rcand = t;
 				}
 
-			if (!RightOf(DEST(lcand), basel) && !RightOf(DEST(rcand), basel)) break;
+			if (!RightOf((Site*)DEST(lcand), basel) && !RightOf((Site*)DEST(rcand), basel)) break;
 
-			if ( !RightOf(DEST(lcand), basel) ||
-				( RightOf(DEST(rcand), basel) && 
-				InCircle(DEST(lcand), ORG(lcand), ORG(rcand), DEST(rcand))))
+			if ( !RightOf((Site*)DEST(lcand), basel) ||
+				( RightOf((Site*)DEST(rcand), basel) && 
+				InCircle((Site*)DEST(lcand), (Site*)ORG(lcand), (Site*)ORG(rcand), (Site*)DEST(rcand))))
 				basel = ConnectQuadEdges(delaunay->qp, rcand, SYM(basel));
 			else
 				basel = ConnectQuadEdges(delaunay->qp, SYM(basel), SYM(lcand));
diff -r e534f234897d -r fecc51eb5f13 Geometry/src/Delaunay.h
--- a/Geometry/src/Delaunay.h	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/src/Delaunay.h	Wed May 11 13:27:02 2011 -0700
@@ -157,7 +157,7 @@
 	/** Stg_Class_Print() implementation */
 	void _Delaunay_Print( void* delaunay, Stream* stream );
 	
-	void *_Delaunay_Copy( void* delaunay, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void *_Delaunay_Copy( const void* delaunay, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void _Delaunay_AssignFromXML( void* delaunay, Stg_ComponentFactory* cf, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Geometry/src/ParallelDelaunay.c
--- a/Geometry/src/ParallelDelaunay.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/src/ParallelDelaunay.c	Wed May 11 13:27:02 2011 -0700
@@ -281,7 +281,7 @@ void _ParallelDelaunay_Print( void* pd, 
 	Journal_Printf( stream, "ParallelDelaunay (ptr): (%p)\n", self );
 }
 
-void *_ParallelDelaunay_Copy( void* pd, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap )
+void *_ParallelDelaunay_Copy( const void* pd, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap )
 {
 	return NULL;
 }
@@ -376,12 +376,12 @@ void _ParallelDelaunay_Build( void* pd, 
 			CoordF **procCoords = NULL;
 			int *procCoordCounter = NULL;
 
-			procCoordCounter = malloc( sizeof(int)*numProcs );
+			procCoordCounter = (int*)malloc( sizeof(int)*numProcs );
 			memset( procCoordCounter, 0, sizeof(int)*numProcs );
 
-			procCoords = malloc( sizeof( CoordF* ) * numProcs );
+			procCoords = (float (**)[3])malloc( sizeof( CoordF* ) * numProcs );
 			for( i=MASTER_PROC+1; i<numProcs; i++ ){
-				procCoords[i] = malloc( sizeof(CoordF) * self->processorLoad[i] );
+                          procCoords[i] = (float (*)[3])malloc( sizeof(CoordF) * self->processorLoad[i] );
 				memset( procCoords[i], 0, sizeof( CoordF ) * self->processorLoad[i] );
 			}
 
@@ -695,25 +695,25 @@ void ParallelDelaunay_GatherTriangulatio
 			int *procVoronoiCounter = NULL;
 			int *procNumNeighboursCounter = NULL;
 
-			procVoronoiCounter = malloc( sizeof( int ) * pd->numProcs );
+			procVoronoiCounter = (int*)malloc( sizeof( int ) * pd->numProcs );
 			memset( procVoronoiCounter, 0, sizeof( int ) * pd->numProcs );
 			
-			procNumNeighboursCounter = malloc( sizeof( int ) * pd->numProcs );
+			procNumNeighboursCounter = (int*)malloc( sizeof( int ) * pd->numProcs );
 			memset( procNumNeighboursCounter, 0, sizeof( int ) * pd->numProcs );
 
-			procVoronoi = malloc( sizeof( float* ) * pd->numProcs ); memset( procVoronoi, 0, sizeof(float*)*pd->numProcs );
-			procNumNeighbours = malloc( sizeof( int* ) * pd->numProcs ); memset( procNumNeighbours, 0, sizeof(int*)*pd->numProcs );
+			procVoronoi = (float**)malloc( sizeof( float* ) * pd->numProcs ); memset( procVoronoi, 0, sizeof(float*)*pd->numProcs );
+			procNumNeighbours = (int**)malloc( sizeof( int* ) * pd->numProcs ); memset( procNumNeighbours, 0, sizeof(int*)*pd->numProcs );
 
 			for( i=MASTER_PROC+1; i<pd->numProcs; i++ ){
 
 				if( pd->attributes->CalculateVoronoiSurfaceArea ){
-					procVoronoi[i] = malloc( sizeof(float)*pd->processorLoad[i] );
+                                  procVoronoi[i] = (float*)malloc( sizeof(float)*pd->processorLoad[i] );
 					memset( procVoronoi[i], 0, sizeof( float ) * pd->processorLoad[i] );
 					MPI_Recv( procVoronoi[i], pd->processorLoad[i], MPI_FLOAT, i, VORONOI_AREA_TAG, (*pd->comm), &st );
 				}
 
 				if( pd->attributes->FindNeighbours ){
-					procNumNeighbours[i] = malloc( sizeof(int)*pd->processorLoad[i] );
+                                  procNumNeighbours[i] = (int*)malloc( sizeof(int)*pd->processorLoad[i] );
 					memset( procNumNeighbours[i], 0, sizeof(int) * pd->processorLoad[i] );
 					MPI_Recv( procNumNeighbours[i], pd->processorLoad[i], MPI_INT, i, NUM_NEIGHBOUR_TAG, (*pd->comm), &st );
 				}
@@ -786,17 +786,17 @@ void ParallelDelaunay_GatherTriangulatio
 			int *procNeighboursCounter = NULL;
 			int *procNumNeighboursCount = NULL;
 
-			procVoronoiSidesCounter = malloc( sizeof( int ) * pd->numProcs );
+			procVoronoiSidesCounter = (int*)malloc( sizeof( int ) * pd->numProcs );
 			memset( procVoronoiSidesCounter, 0, sizeof( int ) * pd->numProcs );
 			
-			procNeighboursCounter = malloc( sizeof( int ) * pd->numProcs );
+			procNeighboursCounter = (int*)malloc( sizeof( int ) * pd->numProcs );
 			memset( procNeighboursCounter, 0, sizeof( int ) * pd->numProcs );
 			
-			procNumNeighboursCount = malloc( sizeof( int ) * pd->numProcs );
+			procNumNeighboursCount = (int*)malloc( sizeof( int ) * pd->numProcs );
 			memset( procNumNeighboursCount, 0, sizeof( int ) * pd->numProcs );
 
-			procVoronoiSides = malloc( sizeof( float* ) * pd->numProcs ); memset( procVoronoiSides, 0, sizeof(float*)*pd->numProcs );
-			procNeighbours = malloc( sizeof( unsigned int* ) * pd->numProcs ); memset( procNeighbours, 0, sizeof(unsigned int*)*pd->numProcs );
+			procVoronoiSides = (float**)malloc( sizeof( float* ) * pd->numProcs ); memset( procVoronoiSides, 0, sizeof(float*)*pd->numProcs );
+			procNeighbours = (float**)malloc( sizeof( unsigned int* ) * pd->numProcs ); memset( procNeighbours, 0, sizeof(unsigned int*)*pd->numProcs );
 
 			for( i=0; i<pd->numInputSites; i++ ){
 				procNumNeighboursCount[pd->processor[i]]+=pd->numNeighbours[pd->initialOrder[i]];
@@ -804,13 +804,13 @@ void ParallelDelaunay_GatherTriangulatio
 
 			for( i=MASTER_PROC+1; i<pd->numProcs; i++ ){
 				if( pd->attributes->CalculateVoronoiSides ){
-					procVoronoiSides[i] = malloc( sizeof(float)*procNumNeighboursCount[i] );
+                                  procVoronoiSides[i] = (float*)malloc( sizeof(float)*procNumNeighboursCount[i] );
 					memset( procVoronoiSides[i], 0, sizeof( float ) * procNumNeighboursCount[i] );
 					MPI_Recv( procVoronoiSides[i], procNumNeighboursCount[i], MPI_FLOAT, i, VORONOI_SIDES_TAG, (*pd->comm), &st );
 				}
 
 				if( pd->attributes->FindNeighbours ){
-					procNeighbours[i] = malloc( sizeof(unsigned int)*procNumNeighboursCount[i] );
+                                  procNeighbours[i] = (float*)malloc( sizeof(unsigned int)*procNumNeighboursCount[i] );
 					memset( procNeighbours[i], 0, sizeof(unsigned int) * procNumNeighboursCount[i] );
 					MPI_Recv( procNeighbours[i], procNumNeighboursCount[i], MPI_INT, i, NEIGHBOURS_TAG, (*pd->comm), &st );
 				}
@@ -830,7 +830,7 @@ void ParallelDelaunay_GatherTriangulatio
 					if( pd->attributes->FindNeighbours ){
 						memcpy( (pd->neighbours[pd->initialOrder[j]]), (pd->localTriangulation->neighbours[count]),
 								sizeof(int)*pd->localTriangulation->numNeighbours[count] );
-						for( i=0; i<pd->numNeighbours[pd->initialOrder[j]]; i++ ){
+						for( i=0; i<(int)(pd->numNeighbours[pd->initialOrder[j]]); i++ ){
 							pd->neighbours[pd->initialOrder[j]][i] = 
 								pd->initialOrder[ParallelDelaunay_TranslateLocalToGlobal(pd, pd->neighbours[pd->initialOrder[j]][i])];
 						}
@@ -850,7 +850,7 @@ void ParallelDelaunay_GatherTriangulatio
 								sizeof(int)*pd->numNeighbours[order] );
 						procNeighboursCounter[proc]+=pd->numNeighbours[order];
 
-						for( i=0; i<pd->numNeighbours[pd->initialOrder[j]]; i++ ){
+						for( i=0; i<(int)(pd->numNeighbours[pd->initialOrder[j]]); i++ ){
 							pd->neighbours[pd->initialOrder[j]][i] = pd->initialOrder[pd->neighbours[pd->initialOrder[j]][i]];
 						}
 					}
@@ -891,7 +891,7 @@ void ParallelDelaunay_GatherTriangulatio
 			for( i=0; i<pd->numLocalSites; i++ ){
 				sum+=pd->localTriangulation->numNeighbours[i];
 				
-				for( j=0; j<pd->localTriangulation->numNeighbours[i]; j++ ){
+				for( j=0; j<(int)(pd->localTriangulation->numNeighbours[i]); j++ ){
 					pd->localTriangulation->neighbours[i][j] = ParallelDelaunay_TranslateLocalToGlobal( pd, pd->localTriangulation->neighbours[i][j] );
 				}
 			}
@@ -954,7 +954,7 @@ void ParallelDelaunay_GatherTriangulatio
 		
 			stride = j;
 			for( i=MASTER_PROC+1; i<pd->numProcs; i++ ){
-				unsigned int *temp = malloc( sizeof(unsigned int)*triCountArray[i]*3 );
+                          unsigned int *temp = (unsigned*)malloc( sizeof(unsigned int)*triCountArray[i]*3 );
 					MPI_Recv( temp, triCountArray[i]*3, MPI_INT, i, DATA_TAG, MPI_COMM_WORLD, &st );					
 				for(j=0; j<triCountArray[i]*3; j+=3){
 					memcpy( pd->triangleIndices[stride++], &(temp[j]), sizeof(int)*3 );
@@ -1004,7 +1004,7 @@ void ParallelDelaunay_GatherTriangulatio
 				}
 				
 				for( i=0; i<pd->numInputSites; i++ ){
-					for( j=0; j<pd->numNeighbours[i]; j++ ){
+                                  for( j=0; j<(int)(pd->numNeighbours[i]); j++ ){
 						triangles[0] = -1;
 						triangles[1] = -1;
 						counter = 0;
@@ -1020,7 +1020,7 @@ void ParallelDelaunay_GatherTriangulatio
 							
 							found = 0;
 							for( m=0; m<3; m++ ){
-								if( pd->triangleNeighbours[triangles[0]][m] == triangles[1] ) found = 1;
+                                                          if( pd->triangleNeighbours[triangles[0]][m] == (unsigned)(triangles[1]) ) found = 1;
 							}
 							if( !found ){
 								pd->triangleNeighbours[triangles[0]][triangleNeighboursCount[triangles[0]]++] = triangles[1];
@@ -1030,7 +1030,7 @@ void ParallelDelaunay_GatherTriangulatio
 						
 							found = 0;
 							for( m=0; m<3; m++ ){
-								if( pd->triangleNeighbours[triangles[1]][m] == triangles[0] ) found = 1;
+                                                          if( pd->triangleNeighbours[triangles[1]][m] == (unsigned)(triangles[0]) ) found = 1;
 							}
 							if( !found ){
 								pd->triangleNeighbours[triangles[1]][triangleNeighboursCount[triangles[1]]++] = triangles[0];
@@ -1205,7 +1205,7 @@ QuadEdgeRef ParallelDelaunayFindLowestQu
 			MPI_Wait( &r, &s );
 			LinkedList_InsertNode( list, (void*)ldi, sizeof( QuadEdgeRef* ) );
 			
-			if (RightOf(ORG(ldi), rdi)){
+			if (RightOf((Site*)ORG(ldi), rdi)){
 				rdi = ONEXT(SYM(rdi));
 				localBreak = 1;
 			}
@@ -1219,7 +1219,7 @@ QuadEdgeRef ParallelDelaunayFindLowestQu
 			MPI_Wait( &r, &s );
 			LinkedList_InsertNode( list, (void*)rdi, sizeof( QuadEdgeRef* ) );
 			
-			if (LeftOf(ORG(rdi), ldi)){
+			if (LeftOf((Site*)ORG(rdi), ldi)){
 				ldi = LNEXT(ldi);
 				localBreak = 1;
 			}
@@ -1300,8 +1300,8 @@ void ParallelDelaunayMerge( ParallelDela
 		
 		while(1){
 			localBreak = 0;
-			if (RightOf(DEST(rcand), basel)){
-				while (InCircle(DEST(basel), ORG(basel), DEST(rcand), DEST(OPREV(rcand)))){
+			if (RightOf((Site*)DEST(rcand), basel)){
+				while (InCircle((Site*)DEST(basel), (Site*)ORG(basel), (Site*)DEST(rcand), (Site*)DEST(OPREV(rcand)))){
 					QuadEdgeRef t = OPREV(rcand);
 
 					DeleteQuadEdge(d->qp, rcand);
@@ -1309,7 +1309,7 @@ void ParallelDelaunayMerge( ParallelDela
 				}
 			}
 			
-			if (!RightOf(DEST(rcand), basel)) localBreak = 1;
+			if (!RightOf((Site*)DEST(rcand), basel)) localBreak = 1;
 
 			MPI_Isend( &localBreak, 1, MPI_INT, rank, BREAK_TAG, *comm, &r );
 			MPI_Recv( &(globalBreak), 1, MPI_INT, rank, BREAK_TAG, *comm, &s );
@@ -1324,9 +1324,9 @@ void ParallelDelaunayMerge( ParallelDela
 			lcand = ParallelDelaunayRecvEdge( pd, rank, comm );
 			MPI_Wait( &r, &s );
 
-			if ( !RightOf(DEST(lcand), basel) ||
-				( RightOf(DEST(rcand), basel) && 
-				InCircle(DEST(lcand), ORG(lcand), ORG(rcand), DEST(rcand)))){
+			if ( !RightOf((Site*)DEST(lcand), basel) ||
+				( RightOf((Site*)DEST(rcand), basel) && 
+				InCircle((Site*)DEST(lcand), (Site*)ORG(lcand), (Site*)ORG(rcand), (Site*)DEST(rcand)))){
 			
 				baselPrev = basel;
 				basel = MakeQuadEdge(d->qp);
@@ -1364,8 +1364,8 @@ void ParallelDelaunayMerge( ParallelDela
 		
 		while(1){
 			localBreak = 0;
-			if (RightOf(DEST(lcand), basel)){
-				while (InCircle(DEST(basel), ORG(basel), DEST(lcand), DEST(ONEXT(lcand)))){
+			if (RightOf((Site*)DEST(lcand), basel)){
+				while (InCircle((Site*)DEST(basel), (Site*)ORG(basel), (Site*)DEST(lcand), (Site*)DEST(ONEXT(lcand)))){
 					QuadEdgeRef t = ONEXT(lcand);
 					
 					DeleteQuadEdge(d->qp, lcand);
@@ -1373,7 +1373,7 @@ void ParallelDelaunayMerge( ParallelDela
 				}
 			}
 			
-			if (!RightOf(DEST(lcand), basel)) localBreak = 1;
+			if (!RightOf((Site*)DEST(lcand), basel)) localBreak = 1;
 
 			MPI_Isend( &localBreak, 1, MPI_INT, rank, BREAK_TAG, *comm, &r );
 			MPI_Recv( &(globalBreak), 1, MPI_INT, rank, BREAK_TAG, *comm, &s );
@@ -1388,9 +1388,9 @@ void ParallelDelaunayMerge( ParallelDela
 			rcand = ParallelDelaunayRecvEdge( pd, rank, comm );
 			MPI_Wait( &r, &s );
 
-			if ( !RightOf(DEST(lcand), basel) ||
-				( RightOf(DEST(rcand), basel) && 
-				InCircle(DEST(lcand), ORG(lcand), ORG(rcand), DEST(rcand)))){
+			if ( !RightOf((Site*)DEST(lcand), basel) ||
+				( RightOf((Site*)DEST(rcand), basel) && 
+				InCircle((Site*)DEST(lcand), (Site*)ORG(lcand), (Site*)ORG(rcand), (Site*)DEST(rcand)))){
 				
 				baselPrev = basel;
 				basel = MakeQuadEdge(d->qp);
diff -r e534f234897d -r fecc51eb5f13 Geometry/src/ParallelDelaunay.h
--- a/Geometry/src/ParallelDelaunay.h	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/src/ParallelDelaunay.h	Wed May 11 13:27:02 2011 -0700
@@ -132,7 +132,7 @@
 	/** Stg_Class_Print() implementation */
 	void _ParallelDelaunay_Print( void* pd, Stream* stream );
 	
-	void *_ParallelDelaunay_Copy( void* pd, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void *_ParallelDelaunay_Copy( const void* pd, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void _ParallelDelaunay_AssignFromXML( void* pd, Stg_ComponentFactory* cf, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Geometry/src/TensorMath.c
--- a/Geometry/src/TensorMath.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/src/TensorMath.c	Wed May 11 13:27:02 2011 -0700
@@ -819,7 +819,8 @@ pp. 463-469,
 
 */
 void Matrix_CalcAllEigenvectorsJacobi(double **matrix, Index count, Eigenvector* eigenvectorList ) {
-	int j,iq,ip,i;
+	int j,i;
+        unsigned ip, iq;
 	double tresh,theta,tau,t,sum,s,h,g,c,*b,*z;
 
 	b = Memory_Alloc_Array( double, count, "b" );
@@ -840,7 +841,7 @@ void Matrix_CalcAllEigenvectorsJacobi(do
 
 		/* Sum the off-diagonal elements */
 		sum = 0.0;
-		for ( ip = 0 ; ip < count-1 ; ip++ ) {
+		for ( ip = 0 ; ip+1 < count ; ip++ ) {
 			for ( iq = ip+1 ; iq < count ; iq++ )
 				sum += fabs(matrix[ip][iq]);
 		}
@@ -853,7 +854,7 @@ void Matrix_CalcAllEigenvectorsJacobi(do
 		else
 			tresh=0.0;
 
-		for ( ip = 0; ip < count-1 ; ip++ ) {
+		for ( ip = 0; ip+1 < count ; ip++ ) {
 			for ( iq = ip+1 ; iq < count ; iq++) {
 				g=100.0*fabs(matrix[ip][iq]);
 
@@ -879,16 +880,16 @@ void Matrix_CalcAllEigenvectorsJacobi(do
 					eigenvectorList[ip].eigenvalue -= h;
 					eigenvectorList[iq].eigenvalue += h;
 					matrix[ip][iq]=0.0;
-					for ( j = 0 ; j <= ip-1 ; j++ ) {
+					for ( j = 0 ; j <= (int)(ip-1) ; j++ ) {
 						ROTATE(matrix,j,ip,j,iq)
 					}
-					for ( j = ip+1 ; j <= iq-1 ; j++ ) {
+					for ( j = ip+1 ; j <= (int)(iq-1) ;j++ ) {
 						ROTATE(matrix,ip,j,j,iq)
 					}
-					for ( j = iq+1 ; j < count ; j++ ) {
+					for ( j = iq+1 ; j < (int)count ; j++ ) {
 						ROTATE(matrix,ip,j,iq,j)
 					}
-					for ( j = 0 ; j < count ; j++ ) {
+					for ( j = 0 ; j < (int)count ; j++ ) {
 						ROTATE_EIGENVECTOR_LIST(eigenvectorList,ip,j,iq,j)
 					}
 				}
diff -r e534f234897d -r fecc51eb5f13 Geometry/tests/ComplexMathSuite.c
--- a/Geometry/tests/ComplexMathSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/tests/ComplexMathSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -68,7 +68,7 @@ void ComplexMathSuite_Teardown( ComplexM
 }
 
 void ComplexMathSuite_TestComplexJournalPrintingMacro( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -96,7 +96,7 @@ void ComplexMathSuite_TestComplexJournal
 }
 
 void ComplexMathSuite_TestAddition( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -121,7 +121,7 @@ void ComplexMathSuite_TestAddition( Comp
 }
 
 void ComplexMathSuite_TestSubtraction( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -146,7 +146,7 @@ void ComplexMathSuite_TestSubtraction( C
 }
 
 void ComplexMathSuite_TestMultiplication( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -171,7 +171,7 @@ void ComplexMathSuite_TestMultiplication
 }
 
 void ComplexMathSuite_TestDivision( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -196,7 +196,7 @@ void ComplexMathSuite_TestDivision( Comp
 }
 
 void ComplexMathSuite_TestRealNumber( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		y = {-1.5, 3};
@@ -234,7 +234,7 @@ void ComplexMathSuite_TestRealNumber( Co
 }
 
 void ComplexMathSuite_TestConjugate( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -257,7 +257,7 @@ void ComplexMathSuite_TestConjugate( Com
 }
 
 void ComplexMathSuite_TestPolar( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -300,7 +300,7 @@ void ComplexMathSuite_TestPolar( Complex
 }
 
 void ComplexMathSuite_TestPower( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -337,7 +337,7 @@ void ComplexMathSuite_TestPower( Complex
 }
 
 void ComplexMathSuite_TestBeautifulEquation( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		i = {0, 1};
@@ -367,7 +367,7 @@ void ComplexMathSuite_TestBeautifulEquat
 }
 
 void ComplexMathSuite_TestExponential( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
@@ -408,7 +408,7 @@ void ComplexMathSuite_TestExponential( C
 }
 
 void ComplexMathSuite_TestCopyAndZero( ComplexMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
 	if (data->rank == procToWatch) {
 		Cmplx		x = {1, 2};
diff -r e534f234897d -r fecc51eb5f13 Geometry/tests/ComplexVectorMathSuite.c
--- a/Geometry/tests/ComplexVectorMathSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/tests/ComplexVectorMathSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -67,7 +67,7 @@ void ComplexVectorMathSuite_Teardown( Co
 }
 
 void ComplexVectorMathSuite_TestComplexVectorMathBasic( ComplexVectorMathSuiteData* data ) {
-	unsigned	procToWatch;
+	int	procToWatch;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"VectorMathBasicStream" );
 	char		expected_file[PCU_PATH_MAX];
 
@@ -211,7 +211,7 @@ void ComplexVectorMathSuite_TestComplexV
 }
 
 void ComplexVectorMathSuite_TestComplexVectorMathOperations( ComplexVectorMathSuiteData* data ) {
-	unsigned	procToWatch;
+	int	procToWatch;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"VectorMathOperationsStream" );
 	char		expected_file[PCU_PATH_MAX];
 
diff -r e534f234897d -r fecc51eb5f13 Geometry/tests/EdgeSuite.c
--- a/Geometry/tests/EdgeSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/tests/EdgeSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -63,7 +63,7 @@ void EdgeSuite_TestEdge( EdgeSuiteData* 
 void EdgeSuite_TestEdge( EdgeSuiteData* data ) {
 	Stream*	stream;
 	char		expected_file[PCU_PATH_MAX];
-	unsigned	procToWatch;
+	int procToWatch;
 
 	procToWatch = data->nProcs >=2 ? 1 : 0;
 	
diff -r e534f234897d -r fecc51eb5f13 Geometry/tests/ParallelDelaunaySuite.c
--- a/Geometry/tests/ParallelDelaunaySuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/tests/ParallelDelaunaySuite.c	Wed May 11 13:27:02 2011 -0700
@@ -173,11 +173,11 @@ void ParallelDelaunaySuite_TestIrregular
 				qsort( dNeighbours, d->numNeighbours[j], sizeof( int ), CompareFunction );
 				qsort( pdNeighbours, pd->numNeighbours[j], sizeof( int ), CompareFunction );
 
-				for( k = 0; k < d->numNeighbours[j]; k++ ) {
+				for( k = 0; k < (int)(d->numNeighbours[j]); k++ ) {
 					if( dNeighbours[k] != pdNeighbours[k] )
 						continue;
 
-					for( m = 0; m < d->numNeighbours[j]; m++ ) {
+					for( m = 0; m < (int)(d->numNeighbours[j]); m++ ) {
 						if( d->neighbours[j][k] == pd->neighbours[j][m] )
 							if( fabs( d->voronoiSides[j][k] - pd->voronoiSides[j][m] ) > EPS )
 								voronoiSideTest = 0;
@@ -253,11 +253,11 @@ void ParallelDelaunaySuite_TestRegular( 
 				qsort( dNeighbours, d->numNeighbours[j], sizeof( int ), CompareFunction );
 				qsort( pdNeighbours, pd->numNeighbours[j], sizeof( int ), CompareFunction );
 
-				for( k = 0; k < d->numNeighbours[j]; k++ ) {
+				for( k = 0; k < (int)(d->numNeighbours[j]); k++ ) {
 					if( dNeighbours[k] != pdNeighbours[k] )
 						continue;
 
-					for( m = 0; m < d->numNeighbours[j]; m++ ) {
+					for( m = 0; m < (int)(d->numNeighbours[j]); m++ ) {
 						if( d->neighbours[j][k] == pd->neighbours[j][m] )
 							if( fabs( d->voronoiSides[j][k] - pd->voronoiSides[j][m] ) > EPS )
 								voronoiSideTest = 0;
diff -r e534f234897d -r fecc51eb5f13 Geometry/tests/PlaneSuite.c
--- a/Geometry/tests/PlaneSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/tests/PlaneSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -61,7 +61,7 @@ void PlaneSuite_Teardown( PlaneSuiteData
 }
 
 void PlaneSuite_TestDistanceToPoint( PlaneSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
    if( data->rank == procToWatch ) {
 		Coord axisA = { 1.0, 0.3, 0.0 };
@@ -77,7 +77,7 @@ void PlaneSuite_TestDistanceToPoint( Pla
 }
 
 void PlaneSuite_TestPointIsInFront( PlaneSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 	
    if( data->rank == procToWatch ) {
 		Coord axisA = { 1.0, 0.3, 0.0 };
diff -r e534f234897d -r fecc51eb5f13 Geometry/tests/TensorMathSuite.c
--- a/Geometry/tests/TensorMathSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/tests/TensorMathSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -80,7 +80,7 @@ void TensorMathSuite_Teardown( TensorMat
 }
 
 void TensorMathSuite_TestSymmetricTensorVectorComponents( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		int		dim;
@@ -105,7 +105,7 @@ void TensorMathSuite_TestSymmetricTensor
 }
 
 void TensorMathSuite_TestJournalPrintTensorArray( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double		**tensor = Memory_Alloc_2DArray( double , 5, 5, (Name)"Tensor"  );
@@ -135,7 +135,7 @@ void TensorMathSuite_TestJournalPrintTen
 }
 
 void TensorMathSuite_TestTensorToTensorArrayFunction( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -186,7 +186,7 @@ void TensorMathSuite_TestTensorToTensorA
 }
 
 void TensorMathSuite_TestMathArrayToMatrix( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double				**tensor = Memory_Alloc_2DArray( double , 5, 5, (Name)"Tensor"  );
@@ -226,7 +226,7 @@ void TensorMathSuite_TestMathArrayToMatr
 }
 
 void TensorMathSuite_TestSymmetricTensorToMatrix( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double				**tensor = Memory_Alloc_2DArray( double , 5, 5, (Name)"Tensor"  );
@@ -272,7 +272,7 @@ void TensorMathSuite_TestSymmetricTensor
 }
 
 void TensorMathSuite_TestGetAntisymmetricPart( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double				**tensor = Memory_Alloc_2DArray( double , 5, 5, (Name)"Tensor"  );
@@ -314,7 +314,7 @@ void TensorMathSuite_TestGetAntisymmetri
 }
 
 void TensorMathSuite_TestGetSymmetricPart( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double				**tensor = Memory_Alloc_2DArray( double , 5, 5, (Name)"Tensor"  );
@@ -356,7 +356,7 @@ void TensorMathSuite_TestGetSymmetricPar
 }
 
 void TensorMathSuite_Test2ndInvariant( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double				**tensor = Memory_Alloc_2DArray( double , 5, 5, (Name)"Tensor"  );
@@ -400,7 +400,7 @@ void TensorMathSuite_Test2ndInvariant( T
 }
 
 void TensorMathSuite_TestVectorTensorVector( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double				**tensor = Memory_Alloc_2DArray( double , 5, 5, (Name)"Tensor"  );
@@ -438,7 +438,7 @@ void TensorMathSuite_TestVectorTensorVec
 }
 
 void TensorMathSuite_TestZeroTensor( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -466,7 +466,7 @@ void TensorMathSuite_TestZeroTensor( Ten
 }
 
 void TensorMathSuite_TestMatrixDeterminant( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double	**tensor = Memory_Alloc_2DArray( double , 5, 5, (Name)"Tensor"  );
@@ -512,7 +512,7 @@ void TensorMathSuite_TestMatrixDetermina
 }
 
 void TensorMathSuite_TestCubicSolver( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		Stream*	stream = Journal_Register( InfoStream_Type, (Name)"CubicSolver"  );
@@ -535,7 +535,7 @@ void TensorMathSuite_TestCubicSolver( Te
 }
 
 void TensorMathSuite_TestMappingFunctions( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -659,7 +659,7 @@ void TensorMathSuite_TestMappingFunction
 }
 
 void TensorMathSuite_TestEigenVectorListSort( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		Eigenvector	eigenvectorList[3];
@@ -736,7 +736,7 @@ void TensorMathSuite_TestEigenVectorList
 }
 
 void TensorMathSuite_TestEigenVector1( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -776,7 +776,7 @@ void TensorMathSuite_TestEigenVector1( T
 }
 
 void TensorMathSuite_TestEigenVector2( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -813,7 +813,7 @@ void TensorMathSuite_TestEigenVector2( T
 }
 
 void TensorMathSuite_TestEigenVector3( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -855,7 +855,7 @@ void TensorMathSuite_TestEigenVector3( T
 }
 
 void TensorMathSuite_TestEigenVector4( TensorMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -900,10 +900,10 @@ void TensorMathSuite_TestEigenVector4( T
 
 		rightHandSide[0] = 24;
 		rightHandSide[1] = 35;
-		Journal_PrintArray( stream, rightHandSide, dim );
+		Journal_PrintArray( stream, rightHandSide, (unsigned)dim );
 
 		TensorArray_SolveSystem( tensorArray, solution, rightHandSide, dim );
-		Journal_PrintArray( stream, solution, dim );
+		Journal_PrintArray( stream, solution, (unsigned)dim );
 
 		dim = 3;
 		tensorArray[ FT3D_00 ] = 10;
@@ -920,10 +920,10 @@ void TensorMathSuite_TestEigenVector4( T
 		rightHandSide[0] = 24;
 		rightHandSide[1] = 35;
 		rightHandSide[2] = 45;
-		Journal_PrintArray( stream, rightHandSide, dim );
+		Journal_PrintArray( stream, rightHandSide, (unsigned)dim );
 
 		TensorArray_SolveSystem( tensorArray, solution, rightHandSide, dim );
-		Journal_PrintArray( stream, solution, dim );
+		Journal_PrintArray( stream, solution, (unsigned)dim );
 
 		pcu_filename_expected( "testTensorMathEigenVector4.expected", expected_file );
 		pcu_check_fileEq( "testTensorMathEigenVector4.dat", expected_file );
diff -r e534f234897d -r fecc51eb5f13 Geometry/tests/TensorMultMathSuite.c
--- a/Geometry/tests/TensorMultMathSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/tests/TensorMultMathSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -63,7 +63,7 @@ void TensorMultMathSuite_Teardown( Tenso
 }
 
 void TensorMultMathSuite_TestTensorArrayIdentity( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray	tensorArray;
@@ -91,7 +91,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestSymmetricTensorIdentity( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -120,7 +120,7 @@ void TensorMultMathSuite_TestSymmetricTe
 }
 
 void TensorMultMathSuite_TestTensorArrayTranspose( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray	tensorArray, tensorResult;
@@ -158,7 +158,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestTensorArrayAdd( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray	tensorArray, tensorArray2, tensorResult;
@@ -205,7 +205,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestTensorArraySubstract( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray	tensorArray, tensorArray2, tensorResult;
@@ -252,7 +252,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestTensorArrayMultiplyByTensorArray( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray	tensorArray, tensorArray2, tensorResult;
@@ -300,7 +300,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestTensorArrayMultiplyByRightTranspose( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensorResult;
@@ -342,7 +342,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestTensorArrayMultiplyByLeftTranspose( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensorResult;
@@ -384,7 +384,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestTensorArrayMultiplyBySymmetricTensor( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor;
@@ -431,7 +431,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestTensorArrayMultiplyByLeftVector( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		XYZ					vector, vectorResult;
@@ -477,7 +477,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestTensorArrayMultiplyByRightVector( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		XYZ					vector, vectorResult;
@@ -523,7 +523,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestCalcDeterminant( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray			tensorArray;
@@ -565,7 +565,7 @@ void TensorMultMathSuite_TestCalcDetermi
 }
 
 void TensorMultMathSuite_TestCalcInverseWithDeterminant( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray			tensorArray, tensorResult, tensorCompare, tensorDiff;
@@ -666,7 +666,7 @@ void TensorMultMathSuite_TestCalcInverse
 }
 
 void TensorMultMathSuite_TestCalcInverse( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray			tensorArray, tensorResult, tensorCompare, tensorDiff;
@@ -767,7 +767,7 @@ void TensorMultMathSuite_TestCalcInverse
 }
 
 void TensorMultMathSuite_TestTensorArrayDoubleContraction( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		TensorArray			tensorArray, tensorArray2;
@@ -818,7 +818,7 @@ void TensorMultMathSuite_TestTensorArray
 }
 
 void TensorMultMathSuite_TestSymmetricTensorDoubleContraction( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		SymmetricTensor	symmTensor, symmTensor2;
@@ -864,7 +864,7 @@ void TensorMultMathSuite_TestSymmetricTe
 }
 
 void TensorMultMathSuite_TestPrintNonSquareMatrix( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double	**nonSquareMatrixA, **nonSquareMatrixB;
@@ -913,7 +913,7 @@ void TensorMultMathSuite_TestPrintNonSqu
 }
 
 void TensorMultMathSuite_TestNonSquareMatrixTranspose( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double	**nonSquareMatrixA, **nonSquareMatrixB;
@@ -963,7 +963,7 @@ void TensorMultMathSuite_TestNonSquareMa
 }
 
 void TensorMultMathSuite_TestMultiplicationByNonSquareMatrix( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		double	**nonSquareMatrixA, **nonSquareMatrixB;
@@ -1016,7 +1016,7 @@ void TensorMultMathSuite_TestMultiplicat
 }
 
 void TensorMultMathSuite_TestMatrixVectorMultiplication( TensorMultMathSuiteData* data ) {
-	unsigned procToWatch = data->nProcs >=2 ? 1 : 0;
+	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if (data->rank == procToWatch) {
 		XYZ		vector;
diff -r e534f234897d -r fecc51eb5f13 Geometry/tests/VectorMathSuite.c
--- a/Geometry/tests/VectorMathSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Geometry/tests/VectorMathSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -61,7 +61,7 @@ void VectorMathSuite_Teardown( VectorMat
 }
 
 void VectorMathSuite_BasicTest( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"BasicTest" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -106,7 +106,7 @@ void VectorMathSuite_BasicTest( VectorMa
 }
 
 void VectorMathSuite_CompleteTest( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"CompleteTest" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -147,7 +147,7 @@ void VectorMathSuite_CompleteTest( Vecto
 }
 
 void VectorMathSuite_TestVectorFunctions( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"CompleteTest" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -219,7 +219,7 @@ void VectorMathSuite_TestVectorFunctions
 }
 
 void VectorMathSuite_TestMagnitudeFunction( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"MagnitudeFunction" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -247,7 +247,7 @@ void VectorMathSuite_TestMagnitudeFuncti
 }
 
 void VectorMathSuite_TestDotProductFunction( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"DotProductFunction" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -273,7 +273,7 @@ void VectorMathSuite_TestDotProductFunct
 }
 
 void VectorMathSuite_TestCrossProductFunction( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"CrossProductFunction" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -300,7 +300,7 @@ void VectorMathSuite_TestCrossProductFun
 }
 
 void VectorMathSuite_TestDistancePointsFunction( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"DistancePointsFunction" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -326,7 +326,7 @@ void VectorMathSuite_TestDistancePointsF
 }
 
 void VectorMathSuite_TestNormalToPlaneFunction( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"NormalToPlaneFunction" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -354,7 +354,7 @@ void VectorMathSuite_TestNormalToPlaneFu
 }
 
 void VectorMathSuite_TestCentroidFunction( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"CentroidFunction" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -385,7 +385,7 @@ void VectorMathSuite_TestCentroidFunctio
 }
 
 void VectorMathSuite_TestTriangleArea( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"TriangleArea" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -412,7 +412,7 @@ void VectorMathSuite_TestTriangleArea( V
 }
 
 void VectorMathSuite_TestNormalisationFunction( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"NormalisationFunction" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -451,7 +451,7 @@ void VectorMathSuite_TestNormalisationFu
 }
 
 void VectorMathSuite_TestVectorCrossProductMagnitude( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"VectorCrossProductMagnitude" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -479,7 +479,7 @@ void VectorMathSuite_TestVectorCrossProd
 }
 
 void VectorMathSuite_TestConvexQuadrilateralArea( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"ConvexQuadrilateralArea" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -509,7 +509,7 @@ void VectorMathSuite_TestConvexQuadrilat
 }
 
 void VectorMathSuite_TestScalarTripleProduct( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"ScalarTripleProduct" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -539,7 +539,7 @@ void VectorMathSuite_TestScalarTriplePro
 }
 
 void VectorMathSuite_TestParallelPipedVolume( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"ParallelPipedVolume" );
 	char		expected_file[PCU_PATH_MAX];	
 
@@ -568,7 +568,7 @@ void VectorMathSuite_TestParallelPipedVo
 }
 
 void VectorMathSuite_TestAverageCoord( VectorMathSuiteData* data ) {
-	unsigned	procToWatch = data->nProcs >=2 ? 1 : 0;
+	int	procToWatch = data->nProcs >=2 ? 1 : 0;
 	Stream*	stream = Journal_Register( Info_Type, (Name)"AverageCoord" );
 	char		expected_file[PCU_PATH_MAX];	
 
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/CartesianGenerator.c
--- a/Mesh/src/CartesianGenerator.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/CartesianGenerator.c	Wed May 11 13:27:02 2011 -0700
@@ -375,7 +375,7 @@ void _CartesianGenerator_AssignFromXML( 
          H5Aclose(attrib_id);
    
          if(self->nDims == 2){
-            if( !( (size[0] == res[0]) && (size[1] == res[1]) )){
+           if(!((size[0]==(unsigned)(res[0])) && (size[1]==(unsigned)(res[1])))){
                if (context->interpolateRestart)
                   self->readFromFile = False;
                else
@@ -392,7 +392,8 @@ void _CartesianGenerator_AssignFromXML( 
                      (unsigned int) size[0], (unsigned int) size[1]);
             }
          } else {
-            if( !( (size[0] == res[0]) && (size[1] == res[1]) && (size[2] == res[2]) )){
+           if(!((size[0]==(unsigned)(res[0])) && (size[1]==(unsigned)(res[1]))
+                && (size[2]==(unsigned)(res[2])))){
                if (context->interpolateRestart)
                   self->readFromFile = False;
                else
@@ -540,15 +541,15 @@ void CartesianGenerator_Generate( void* 
 
 		Journal_Printf( stream, "Target mesh: '%s'\n", mesh->name );
 		Journal_Printf( stream, "Global element size: %d", self->elGrid->sizes[0] );
-		for( d_i = 1; d_i < self->elGrid->nDims; d_i++ )
+		for( d_i = 1; d_i < (unsigned)(self->elGrid->nDims); d_i++ )
 			Journal_Printf( stream, "x%d", self->elGrid->sizes[d_i] );
 		Journal_Printf( stream, "\n" );
 		Journal_Printf( stream, "Local offset of rank %d: %d", stream->_printingRank, self->origin[0] );
-		for( d_i = 1; d_i < self->elGrid->nDims; d_i++ )
+		for( d_i = 1; d_i < (unsigned)(self->elGrid->nDims); d_i++ )
 			Journal_Printf( stream, "x%d", self->origin[d_i] );
 		Journal_Printf( stream, "\n" );
 		Journal_Printf( stream, "Local range of rank %d: %d", stream->_printingRank, self->range[0] );
-		for( d_i = 1; d_i < self->elGrid->nDims; d_i++ )
+		for( d_i = 1; d_i < (unsigned)(self->elGrid->nDims); d_i++ )
 			Journal_Printf( stream, "x%d", self->range[d_i] );
 		Journal_Printf( stream, "\n" );
 
@@ -564,7 +565,7 @@ void CartesianGenerator_Generate( void* 
 		CartesianGenerator_GenElementTypes( self, mesh );
 	}
 	else {
-		MeshTopology_SetNumDims( mesh->topo, 0 );
+          MeshTopology_SetNumDims( mesh->topo, 0 );
 	}
 
 	/* Add extensions to the mesh and fill with cartesian information. */
@@ -645,7 +646,7 @@ void _CartesianGenerator_GenElements( vo
 	unsigned		nEls;
 	unsigned*		els;
 	unsigned*		dimInds;
-	unsigned		d_i, e_i;
+	unsigned	d_i, e_i;
 
 	assert( self && Stg_CheckType( self, CartesianGenerator ) );
 	assert( topo );
@@ -672,7 +673,7 @@ void _CartesianGenerator_GenElements( vo
 		els[e_i] = Grid_Project( self->elGrid, dimInds );
 	}
 
-	IGraph_SetLocalElements( topo, grid->nDims, nEls, els );
+	IGraph_SetLocalElements( topo, grid->nDims, nEls, (int*)els );
 	FreeArray( els );
 	FreeArray( dimInds );
 	FreeObject( grid );
@@ -693,7 +694,7 @@ void _CartesianGenerator_GenVertices( vo
 	unsigned		nRemotes/*, *remotes*/;
 	unsigned		*dstArray, *dstCount;
 	unsigned		*dimInds, *rankInds;
-	unsigned		d_i, e_i;
+	unsigned	d_i, e_i;
 
 	assert( self && Stg_CheckType( self, CartesianGenerator ) );
 	assert( topo );
@@ -753,7 +754,7 @@ void _CartesianGenerator_GenVertices( vo
 	MeshTopology_SetLocalElements( topo, 0, nLocals, locals );
 	MeshTopology_SetRemoteElements( topo, 0, nRemotes, remotes );
 */
-	IGraph_SetElements( topo, 0, nLocals, locals );
+	IGraph_SetElements( topo, 0, nLocals, (int*)locals );
 	FreeArray( locals );
 /*
 	FreeArray( remotes );
@@ -880,7 +881,7 @@ void _CartesianGenerator_GenFaces( void*
 		els[nEls[0] + nEls[1] + e_i] = nGlobalEls[0] + nGlobalEls[1] + Grid_Project( globalGrid, dimInds );
 	}
 
-	IGraph_SetElements( topo, MT_FACE, nEls[0] + nEls[1] + nEls[2], els );
+	IGraph_SetElements(topo,MT_FACE, nEls[0] + nEls[1] + nEls[2],(int*)els);
 
 	FreeArray( dimInds );
 	FreeArray( els );
@@ -915,7 +916,7 @@ void _CartesianGenerator_GenElementVerte
 	nDomainEls = Sync_GetNumDomains( sync );
 	incEls = Memory_Alloc_Array_Unnamed( unsigned, vertsPerEl );
 	dimInds = Memory_Alloc_Array_Unnamed( unsigned, topo->nDims );
-	for( e_i = 0; e_i < nDomainEls; e_i++ ) {
+	for( e_i = 0; e_i < (unsigned)nDomainEls; e_i++ ) {
 		unsigned	gInd = Sync_DomainToGlobal( sync, e_i );
 		unsigned	curNode = 0;
 
@@ -957,7 +958,8 @@ void _CartesianGenerator_GenElementVerte
 
 		CartesianGenerator_MapToDomain( self, (Sync*)IGraph_GetDomain( topo, 0 ), 
 						vertsPerEl, incEls );
-		IGraph_SetIncidence( topo, topo->nDims, e_i, MT_VERTEX, vertsPerEl, incEls );
+		IGraph_SetIncidence( topo, topo->nDims, e_i, MT_VERTEX,
+                                     vertsPerEl, (int*)incEls );
 	}
 
 	FreeArray( incEls );
@@ -986,7 +988,7 @@ void _CartesianGenerator_GenVolumeEdgeIn
 
 	incEls = Memory_Alloc_Array_Unnamed( unsigned, 12 );
 	dimInds = Memory_Alloc_Array_Unnamed( unsigned, topo->nDims );
-	for( e_i = 0; e_i < topo->remotes[3]->nDomains; e_i++ ) {
+	for( e_i = 0; e_i < (unsigned)(topo->remotes[3]->nDomains); e_i++ ) {
 		unsigned	gInd = Sync_DomainToGlobal( topo->remotes[3], e_i );
 
 		nIncEls = 12;
@@ -1034,7 +1036,7 @@ void _CartesianGenerator_GenVolumeEdgeIn
 
 		CartesianGenerator_MapToDomain( self, (Sync*)IGraph_GetDomain( topo, 1 ), 
 						nIncEls, incEls );
-		IGraph_SetIncidence( topo, topo->nDims, e_i, 1, nIncEls, incEls );
+		IGraph_SetIncidence(topo,topo->nDims,e_i,1,nIncEls,(int*)incEls);
 	}
 
 	FreeArray( incEls );
@@ -1063,7 +1065,7 @@ void _CartesianGenerator_GenVolumeFaceIn
 
 	incEls = Memory_Alloc_Array_Unnamed( unsigned, 6 );
 	dimInds = Memory_Alloc_Array_Unnamed( unsigned, topo->nDims );
-	for( e_i = 0; e_i < topo->remotes[MT_VOLUME]->nDomains; e_i++ ) {
+	for(e_i=0;e_i<(unsigned)(topo->remotes[MT_VOLUME]->nDomains);e_i++) {
 		unsigned	gInd = Sync_DomainToGlobal( topo->remotes[MT_VOLUME], e_i );
 
 		nIncEls = 6;
@@ -1089,7 +1091,7 @@ void _CartesianGenerator_GenVolumeFaceIn
 
 		CartesianGenerator_MapToDomain( self, (Sync*)IGraph_GetDomain( topo, 2 ), 
 						nIncEls, incEls );
-		IGraph_SetIncidence( topo, topo->nDims, e_i, 2, nIncEls, incEls );
+		IGraph_SetIncidence(topo,topo->nDims,e_i,2,nIncEls,(int*)incEls);
 	}
 
 	FreeArray( incEls );
@@ -1118,7 +1120,7 @@ void _CartesianGenerator_GenFaceVertexIn
 
 	incEls = Memory_Alloc_Array_Unnamed( unsigned, 4 );
 	dimInds = Memory_Alloc_Array_Unnamed( unsigned, topo->nDims );
-	for( e_i = 0; e_i < topo->remotes[MT_FACE]->nDomains; e_i++ ) {
+	for(e_i=0;e_i<(unsigned)(topo->remotes[MT_FACE]->nDomains);e_i++) {
 		unsigned	gInd = Sync_DomainToGlobal( topo->remotes[MT_FACE], e_i );
 
 		nIncEls = 4;
@@ -1182,7 +1184,7 @@ void _CartesianGenerator_GenFaceVertexIn
 
 		CartesianGenerator_MapToDomain( self, (Sync*)IGraph_GetDomain( topo, 0 ), 
 						nIncEls, incEls );
-		IGraph_SetIncidence( topo, 2, e_i, 0, nIncEls, incEls );
+		IGraph_SetIncidence( topo, 2, e_i, 0, nIncEls, (int*)incEls );
 	}
 
 	FreeArray( incEls );
@@ -1211,7 +1213,7 @@ void _CartesianGenerator_GenFaceEdgeInc(
 
 	incEls = Memory_Alloc_Array_Unnamed( unsigned, 4 );
 	dimInds = Memory_Alloc_Array_Unnamed( unsigned, topo->nDims );
-	for( e_i = 0; e_i < topo->remotes[MT_FACE]->nDomains; e_i++ ) {
+	for( e_i = 0; e_i < (unsigned)(topo->remotes[MT_FACE]->nDomains);e_i++ ) {
 		unsigned	gInd = Sync_DomainToGlobal( topo->remotes[MT_FACE], e_i );
 
 		nIncEls = 4;
@@ -1269,7 +1271,7 @@ void _CartesianGenerator_GenFaceEdgeInc(
 
 		CartesianGenerator_MapToDomain( self, (Sync*)IGraph_GetDomain( topo, 1 ), 
 						nIncEls, incEls );
-		IGraph_SetIncidence( topo, 2, e_i, 1, nIncEls, incEls );
+		IGraph_SetIncidence( topo, 2, e_i, 1, nIncEls, (int*)incEls );
 	}
 
 	FreeArray( incEls );
@@ -1299,7 +1301,7 @@ void _CartesianGenerator_GenEdgeVertexIn
 	sync = IGraph_GetDomain( topo, 1 );
 	incEls = MemArray( unsigned, 2, CartesianGenerator_Type );
 	dimInds = MemArray( unsigned, topo->nDims, CartesianGenerator_Type );
-	for( e_i = 0; e_i < Sync_GetNumDomains( sync ); e_i++ ) {
+	for( e_i = 0; e_i < (unsigned)Sync_GetNumDomains( sync ); e_i++ ) {
 		unsigned	gInd = Sync_DomainToGlobal( sync, e_i );
 
 		nIncEls = 2;
@@ -1339,7 +1341,8 @@ void _CartesianGenerator_GenEdgeVertexIn
 
 		CartesianGenerator_MapToDomain( self, (Sync*)IGraph_GetDomain( topo, 0 ), 
 						nIncEls, incEls );
-		IGraph_SetIncidence( topo, MT_EDGE, e_i, MT_VERTEX, nIncEls, incEls );
+		IGraph_SetIncidence( topo, MT_EDGE, e_i, MT_VERTEX, nIncEls,
+                                     (int*)incEls );
 	}
 
 	FreeArray( incEls );
@@ -1366,7 +1369,7 @@ void _CartesianGenerator_GenElementTypes
 	mesh->elTypes = Memory_Alloc_Array( Mesh_ElementType*, mesh->nElTypes, "Mesh::elTypes" );
 	mesh->elTypes[0] = (Mesh_ElementType*)Mesh_HexType_New();
 	Mesh_ElementType_SetMesh( mesh->elTypes[0], mesh );
-	nDomainEls = Mesh_GetDomainSize( mesh, Mesh_GetDimSize( mesh ) );
+	nDomainEls = Mesh_GetDomainSize(mesh,Mesh_GetDimSize(mesh));
 	mesh->elTypeMap = Memory_Alloc_Array( unsigned, nDomainEls, "Mesh::elTypeMap" );
 	for( e_i = 0; e_i < nDomainEls; e_i++ )
 		mesh->elTypeMap[e_i] = 0;
@@ -1480,7 +1483,7 @@ void CartesianGenerator_BuildDecomp( Car
 			bestPos = p_i;
 		}
 	}
-	assert( bestPos != -1 );
+	assert( bestPos != (unsigned)(-1) );
 
 	/* Allocate for results. */
 	self->origin = Memory_Alloc_Array( unsigned, self->elGrid->nDims, "CartesianGenerator::origin" );
@@ -1550,7 +1553,7 @@ void CartesianGenerator_BuildDecomp( Car
 	self->comm = Comm_New();
 	NewClass_AddRef( self->comm );
 	Comm_SetMPIComm( self->comm, self->mpiComm );
-	Comm_SetNeighbours( self->comm, nNbrs, nbrs );
+	Comm_SetNeighbours( self->comm, nNbrs, (int*)nbrs );
 	FreeArray( nbrs );
 }
 
@@ -1622,7 +1625,7 @@ void CartesianGenerator_GenTopo( Cartesi
 void CartesianGenerator_GenTopo( CartesianGenerator* self, IGraph* topo ) {
 	Grid***		grids;
 	const Comm* comm;
-	unsigned	d_i, d_j;
+	int	d_i, d_j;
 
 	assert( self );
 	assert( topo );
@@ -1743,15 +1746,15 @@ void CartesianGenerator_GenTopo( Cartesi
 	}
 
 	/* Complete all required relations. */
-	for( d_i = 0; d_i < self->nDims; d_i++ ) {
-		for( d_j = d_i + 1; d_j <= self->nDims; d_j++ ) {
-			if( !self->enabledInc[d_i][d_j] )
-				continue;
+	for( d_i = 0; d_i < (int)(self->nDims); d_i++ ) {
+          for( d_j = d_i + 1; d_j <= (int)(self->nDims); d_j++ ) {
+            if( !self->enabledInc[d_i][d_j] )
+              continue;
 
-			IGraph_InvertIncidence( topo, d_i, d_j );
-		}
+            IGraph_InvertIncidence( topo, d_i, d_j );
+          }
 	}
-	for( d_i = 0; d_i <= self->nDims; d_i++ ) {
+	for( d_i = 0; d_i <= (int)(self->nDims); d_i++ ) {
 		if( self->enabledInc[d_i][d_i] ) {
 			if( d_i == 0 )
 				CartesianGenerator_CompleteVertexNeighbours( self, topo, grids );
@@ -1767,9 +1770,9 @@ void CartesianGenerator_GenTopo( Cartesi
 	/* Free allocated grids. */
 	grids[topo->nDims][0] = NULL;
 	for( d_i = 1; d_i < topo->nDims; d_i++ ) {
-		unsigned	d_j;
+		int	d_j;
 
-		for( d_j = 0; d_j < topo->nTDims; d_j++ )
+		for( d_j = 0; d_j < (topo->nTDims); d_j++ )
 			FreeObject( grids[d_i][d_j] );
 	}
 	FreeArray( grids );
@@ -1838,7 +1841,7 @@ void CartesianGenerator_GenEdges2D( Cart
 		els[nEls[0] + e_i] = nGlobalEls + Grid_Project( globalGrid, dimInds );
 	}
 
-	IGraph_SetElements( topo, MT_EDGE, nEls[0] + nEls[1], els );
+	IGraph_SetElements( topo, MT_EDGE, nEls[0] + nEls[1], (int*)els );
 
 	FreeArray( dimInds );
 	FreeArray( els );
@@ -1944,7 +1947,7 @@ void CartesianGenerator_GenEdges3D( Cart
 		els[nEls[0] + nEls[1] + e_i] = nGlobalEls[0] + nGlobalEls[1] + Grid_Project( globalGrid, dimInds );
 	}
 
-	IGraph_SetElements( topo, MT_EDGE, nEls[0] + nEls[1] + nEls[2], els );
+	IGraph_SetElements( topo, MT_EDGE, nEls[0] + nEls[1] + nEls[2],(int*)els);
 
 	FreeArray( dimInds );
 	FreeArray( els );
@@ -1972,9 +1975,9 @@ void CartesianGenerator_GenBndVerts( Car
 	nVerts = Sync_GetNumDomains( sync );
 	for( v_i = 0; v_i < nVerts; v_i++ ) {
 		global = Sync_DomainToGlobal( sync, v_i );
-		Grid_Lift( grids[0][0], global, inds );
+		Grid_Lift( grids[0][0], global, (unsigned*)inds );
 		for( d_i = 0; d_i < nDims; d_i++ ) {
-			if( inds[d_i] == 0 || inds[d_i] == grids[0][0]->sizes[d_i] - 1 )
+                  if( inds[d_i] == 0 || (unsigned)(inds[d_i]) == grids[0][0]->sizes[d_i] - 1 )
 				break;
 		}
 		if( d_i < nDims )
@@ -2018,7 +2021,7 @@ void CartesianGenerator_CompleteVertexNe
 		if( inds[0] > 0 ) {
 			inds[0]--;
 			domain = Grid_Project( grids[0][0], inds );
-			if( Sync_TryGlobalToDomain( sync, domain, &domain ) ) {
+			if(Sync_TryGlobalToDomain(sync,domain,(int*)(&domain))) {
 				nbrs[v_i][nNbrs[v_i]] = domain;
 				nNbrs[v_i]++;
 			}
@@ -2028,7 +2031,7 @@ void CartesianGenerator_CompleteVertexNe
 		if( inds[0] < grids[0][0]->sizes[0] - 1 ) {
 			inds[0]++;
 			domain = Grid_Project( grids[0][0], inds );
-			if( Sync_TryGlobalToDomain( sync, domain, &domain ) ) {
+			if(Sync_TryGlobalToDomain(sync,domain,(int*)(&domain))) {
 				nbrs[v_i][nNbrs[v_i]] = domain;
 				nNbrs[v_i]++;
 			}
@@ -2039,7 +2042,8 @@ void CartesianGenerator_CompleteVertexNe
 			if( inds[1] > 0 ) {
 				inds[1]--;
 				domain = Grid_Project( grids[0][0], inds );
-				if( Sync_TryGlobalToDomain( sync, domain, &domain ) ) {
+				if(Sync_TryGlobalToDomain(sync,domain,
+                                                          (int*)(&domain))) {
 					nbrs[v_i][nNbrs[v_i]] = domain;
 					nNbrs[v_i]++;
 				}
@@ -2049,7 +2053,8 @@ void CartesianGenerator_CompleteVertexNe
 			if( inds[1] < grids[0][0]->sizes[1] - 1 ) {
 				inds[1]++;
 				domain = Grid_Project( grids[0][0], inds );
-				if( Sync_TryGlobalToDomain( sync, domain, &domain ) ) {
+				if(Sync_TryGlobalToDomain(sync,domain,
+                                                          (int*)(&domain))) {
 					nbrs[v_i][nNbrs[v_i]] = domain;
 					nNbrs[v_i]++;
 				}
@@ -2060,7 +2065,8 @@ void CartesianGenerator_CompleteVertexNe
 				if( inds[2] > 0 ) {
 					inds[2]--;
 					domain = Grid_Project( grids[0][0], inds );
-					if( Sync_TryGlobalToDomain( sync, domain, &domain ) ) {
+					if(Sync_TryGlobalToDomain(sync,domain,
+                                                                  (int*)(&domain))) {
 						nbrs[v_i][nNbrs[v_i]] = domain;
 						nNbrs[v_i]++;
 					}
@@ -2070,7 +2076,8 @@ void CartesianGenerator_CompleteVertexNe
 				if( inds[2] < grids[0][0]->sizes[2] - 1 ) {
 					inds[2]++;
 					domain = Grid_Project( grids[0][0], inds );
-					if( Sync_TryGlobalToDomain( sync, domain, &domain ) ) {
+					if(Sync_TryGlobalToDomain(sync,domain,
+                                                                  (int*)(&domain))) {
 						nbrs[v_i][nNbrs[v_i]] = domain;
 						nNbrs[v_i]++;
 					}
@@ -2079,7 +2086,8 @@ void CartesianGenerator_CompleteVertexNe
 			}
 		}
 
-		IGraph_SetIncidence( topo, MT_VERTEX, v_i, MT_VERTEX, nNbrs[v_i], nbrs[v_i] );
+		IGraph_SetIncidence(topo,MT_VERTEX,v_i,MT_VERTEX,nNbrs[v_i],
+                                    (int*)(nbrs[v_i]));
 	}
 
 	FreeArray( nNbrs );
@@ -2146,7 +2154,7 @@ void CartesianGenerator_GenGeom( Cartesi
       Grid*			      grid;
       unsigned*		   inds;
       double*			   steps;
-      unsigned          d_i;
+      int          d_i;
 
       /* Build grid and space for indices. */
       grid = self->vertGrid;
@@ -2176,14 +2184,14 @@ void CartesianGenerator_CalcGeom( Cartes
 	unsigned        	gNode;
 
 	/* Loop over domain nodes. */
-	for( n_i = 0; n_i < Sync_GetNumDomains( sync ); n_i++ ) {
+	for( n_i = 0; n_i < (unsigned)Sync_GetNumDomains( sync ); n_i++ ) {
 		gNode = Sync_DomainToGlobal( sync, n_i );
 		Grid_Lift( grid, gNode, inds );
 		vert = Mesh_GetVertex( mesh, n_i );
 
 		/* Calculate coordinate. */
-		for( d_i = 0; d_i < mesh->topo->nDims; d_i++ ) {
-                   if( inds[d_i] <= self->contactDepth[d_i][0] ) {
+		for( d_i = 0; d_i < (unsigned)(mesh->topo->nDims); d_i++ ) {
+                  if( inds[d_i] <= (unsigned)(self->contactDepth[d_i][0]) ) {
                       mesh->verts[n_i][d_i] = self->crdMin[d_i];
                       if( self->contactDepth[d_i][0] ) {
                          mesh->verts[n_i][d_i] +=
@@ -2243,7 +2251,7 @@ void CartesianGenerator_DestructGeometry
 }
 
 #ifdef READ_HDF5
-void CartesianGenerator_ReadFromHDF5(  CartesianGenerator* self, Mesh* mesh, const char* filename ){
+void CartesianGenerator_ReadFromHDF5(  CartesianGenerator* self, Mesh* mesh, Name filename ){
 	hid_t             file, fileSpace, fileData;
 	hsize_t           start[2], count[2], size[2], maxSize[2];   
 	hid_t             memSpace, error;
@@ -2299,7 +2307,7 @@ void CartesianGenerator_ReadFromHDF5(  C
       #endif
       status = H5Aread(attrib_id, H5T_NATIVE_INT, &ndims);
       H5Aclose(attrib_id);      
-      Journal_Firewall( (ndims == self->nDims), errorStream,
+      Journal_Firewall( (ndims == (int)(self->nDims)), errorStream,
          "\n\nError in %s for %s '%s'\n"
          "Number of dimensions (%u) for checkpoint file (%s) does not correspond to simulation dimensions (%u).\n", 
          __func__, self->type, self->name, (unsigned int) ndims, filename,
@@ -2317,8 +2325,8 @@ void CartesianGenerator_ReadFromHDF5(  C
 
       sizes = Grid_GetSizes( self->elGrid ); /** global no. of elements in each dim */
       if(self->nDims == 2)
-         Journal_Firewall( 
-            ( (sizes[0] == res[0]) && (sizes[1] == res[1]) ), 
+         Journal_Firewall(((sizes[0] == (unsigned)(res[0]))
+                           && (sizes[1] == (unsigned)(res[1])) ), 
             errorStream,
             "\n\nError in %s for %s '%s'\n"
             "Size of mesh (%u,%u) for checkpoint file (%s) does not correspond to simulation mesh size (%u, %u).\n", 
@@ -2328,7 +2336,9 @@ void CartesianGenerator_ReadFromHDF5(  C
             (unsigned int) sizes[0], (unsigned int) sizes[1]);
       else
          Journal_Firewall( 
-            ( (sizes[0] == res[0]) && (sizes[1] == res[1]) && (sizes[2] == res[2]) ), 
+                          ( (sizes[0] == (unsigned)(res[0]))
+                            && (sizes[1] == (unsigned)(res[1]))
+                            && (sizes[2] == (unsigned)(res[2])) ), 
             errorStream,
             "\n\nError in %s for %s '%s'\n"
             "Size of mesh (%u,%u,%u) for checkpoint file (%s) does not correspond to simulation mesh size (%u,%u,%u).\n", 
@@ -2367,13 +2377,13 @@ void CartesianGenerator_ReadFromHDF5(  C
    count[0] = 1;
    count[1] = mesh->topo->nDims + noffset;
    memSpace = H5Screate_simple( 2, count, NULL );
-   totalVerts = Mesh_GetGlobalSize( mesh, 0 );
+   totalVerts = Mesh_GetGlobalSize( mesh, (MeshTopology_Dim)0 );
 
    /* Get size of dataspace to check consistency */
    H5Sget_simple_extent_dims( fileSpace, size, maxSize ); 
 
    Journal_Firewall( 
-      (maxSize[0] == totalVerts), 
+                    (maxSize[0] == (unsigned)totalVerts), 
       errorStream,
       "\n\nError in %s for %s '%s'\n"
       "Number of mesh vertices (%u) stored in %s does not correspond to total number of requested mesh vertices (%u).\n", 
@@ -2424,7 +2434,7 @@ void CartesianGenerator_ReadFromHDF5(  C
 }
 #endif
 
-void CartesianGenerator_ReadFromASCII( CartesianGenerator* self, Mesh* mesh, const char* filename ){
+void CartesianGenerator_ReadFromASCII( CartesianGenerator* self, Mesh* mesh, Name filename ){
    int               proc_I;
 	Node_LocalIndex   lNode_I = 0;
 	Node_GlobalIndex  gNode_I = 0;
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/CartesianGenerator.h
--- a/Mesh/src/CartesianGenerator.h	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/CartesianGenerator.h	Wed May 11 13:27:02 2011 -0700
@@ -230,8 +230,8 @@
 	void CartesianGenerator_Destruct( CartesianGenerator* self );
 	void CartesianGenerator_DestructTopology( CartesianGenerator* self );
 	void CartesianGenerator_DestructGeometry( CartesianGenerator* self );
-	void CartesianGenerator_ReadFromHDF5(  CartesianGenerator* self, Mesh* mesh, const char* filename );
-	void CartesianGenerator_ReadFromASCII( CartesianGenerator* self, Mesh* mesh, const char* filename );
+	void CartesianGenerator_ReadFromHDF5(  CartesianGenerator* self, Mesh* mesh, Name filename );
+	void CartesianGenerator_ReadFromASCII( CartesianGenerator* self, Mesh* mesh, Name filename );
 
 #endif /* __StgDomain_Mesh_CartesianGenerator_h__ */
 
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/CompressionAdaptor.c
--- a/Mesh/src/CompressionAdaptor.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/CompressionAdaptor.c	Wed May 11 13:27:02 2011 -0700
@@ -201,7 +201,7 @@ void CompressionAdaptor_Generate( void* 
 
 	/* Loop over domain nodes. */
 	sync = IGraph_GetDomain( mesh->topo, MT_VERTEX );
-	for( n_i = 0; n_i < Sync_GetNumDomains( sync ); n_i++ ) {
+	for( n_i = 0; n_i < (unsigned)Sync_GetNumDomains( sync ); n_i++ ) {
 		gNode = Sync_DomainToGlobal( sync, n_i );
 		Grid_Lift( grid, gNode, inds );
 
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Decomp_Sync_Claim.h
--- a/Mesh/src/Decomp_Sync_Claim.h	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Decomp_Sync_Claim.h	Wed May 11 13:27:02 2011 -0700
@@ -87,7 +87,7 @@
 		(Mesh*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Decomp_Sync_Claim_DeepCopy( self ) \
 		(Mesh*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Decomp_Sync_Claim_Copy( void* claim, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Decomp_Sync_Claim_Copy( const void* claim, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	void _Decomp_Sync_Claim_AssignFromXML( void* claim, Stg_ComponentFactory* cf, void* data );
 	void _Decomp_Sync_Claim_Build( void* claim, void* data );
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Decomp_Sync_Negotiate.h
--- a/Mesh/src/Decomp_Sync_Negotiate.h	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Decomp_Sync_Negotiate.h	Wed May 11 13:27:02 2011 -0700
@@ -86,7 +86,7 @@
 		(Mesh*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Decomp_Sync_Negotiate_DeepCopy( self ) \
 		(Mesh*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Decomp_Sync_Negotiate_Copy( void* negotiate, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Decomp_Sync_Negotiate_Copy( const void* negotiate, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	void _Decomp_Sync_Negotiate_AssignFromXML( void* negotiate, Stg_ComponentFactory* cf, void* data );
 	void _Decomp_Sync_Negotiate_Build( void* negotiate, void* data );
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/IGraph.c
--- a/Mesh/src/IGraph.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/IGraph.c	Wed May 11 13:27:02 2011 -0700
@@ -50,7 +50,7 @@ void _IGraph_Init( void* _self ) {
    IGraph* self = (IGraph*)_self;
 
    _MeshTopology_Init( self );
-   self->nDims = 0;
+   self->nDims = (MeshTopology_Dim)0;
    self->nTDims = 0;
    self->shadDepth = 0;
    self->comm = NULL;
@@ -787,7 +787,7 @@ void IGraph_ClearDims( void* _self ) {
    Class_Free( self, self->nIncEls );
    Class_Free( self, self->incEls );
 
-   self->nDims = 0;
+   self->nDims = (MeshTopology_Dim)0;
    self->nTDims = 0;
    self->shadDepth = 0;
    self->locals = NULL;
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/MeshAdaptor.c
--- a/Mesh/src/MeshAdaptor.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/MeshAdaptor.c	Wed May 11 13:27:02 2011 -0700
@@ -147,7 +147,7 @@ void MeshAdaptor_SetGenerator( void* ada
 void MeshAdaptor_SetGenerator( void* adaptor, void* generator ) {
 	MeshAdaptor*	self = (MeshAdaptor*)adaptor;
 
-	self->generator = generator;
+	self->generator = (MeshGenerator*)generator;
 	if( self->generator )
 		self->srcMesh = NULL;
 }
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/MeshClass.c
--- a/Mesh/src/MeshClass.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/MeshClass.c	Wed May 11 13:27:02 2011 -0700
@@ -81,7 +81,7 @@ Mesh* _Mesh_New(  MESH_DEFARGS  ) {
 
 void _Mesh_Init( Mesh* self, AbstractContext* context ) {
    self->context = context;
-	self->topo = (MeshTopology*)IGraph_New( "" );
+	self->topo = (MeshTopology*)IGraph_New();
 	self->verts = NULL;
 
 	self->vars = List_New();
@@ -173,7 +173,7 @@ void _Mesh_Build( void* mesh, void* data
 		unsigned	size;
 
 		if( !UIntMap_Map( self->topoDataSizes, d_i, &size ) || !size ||
-		    !Mesh_GetDomainSize( self, d_i ) )
+		    !Mesh_GetDomainSize( self, (MeshTopology_Dim)d_i ) )
 		{
 			self->topoDataInfos[d_i] = NULL;
 			self->topoDatas[d_i] = NULL;
@@ -182,7 +182,7 @@ void _Mesh_Build( void* mesh, void* data
 
 		sprintf( name, "topoData(%d)", d_i );
 		self->topoDataInfos[d_i] = ExtensionManager_New_OfStruct( name, size );
-		self->topoDatas[d_i] = (void*)ExtensionManager_Malloc( self->topoDataInfos[d_i], Mesh_GetDomainSize( self, d_i ) );
+		self->topoDatas[d_i] = (void*)ExtensionManager_Malloc( self->topoDataInfos[d_i], Mesh_GetDomainSize( self, (MeshTopology_Dim)d_i ) );
 	}
 
 	/*
@@ -208,7 +208,7 @@ void _Mesh_Execute( void* mesh, void* da
 
 void _Mesh_Destroy( void* mesh, void* data ) {
    Mesh*		self = (Mesh*)mesh;
-	unsigned	d_i;
+   unsigned	d_i;
 
    Mesh_Destruct( self );
    Stg_Component_Destroy( self->algorithms, NULL, False );
@@ -216,12 +216,12 @@ void _Mesh_Destroy( void* mesh, void* da
    Stg_Class_Delete( self->vars );
    Stg_Class_Delete( self->topoDataSizes );
 
-	for( d_i = 0; d_i < Mesh_GetDimSize( self ); d_i++ ) {
-		if( self->topoDataInfos[d_i] )	
-			Stg_Class_Delete( self->topoDataInfos[d_i] );
-		if( self->topoDatas[d_i] )
-			Memory_Free( self->topoDatas[d_i] );
-	}
+   for( d_i = 0; d_i < (unsigned)Mesh_GetDimSize( self ); d_i++ ) {
+     if( self->topoDataInfos[d_i] )	
+       Stg_Class_Delete( self->topoDataInfos[d_i] );
+     if( self->topoDatas[d_i] )
+       Memory_Free( self->topoDatas[d_i] );
+   }
    Memory_Free( self->topoDataInfos );
    Memory_Free( self->topoDatas );
 
@@ -238,7 +238,7 @@ void Mesh_SetExtensionManagerRegister( v
 
 	assert( self );
 
-	self->emReg = extMgrReg;
+	self->emReg = (ExtensionManager_Register*)extMgrReg;
 	if( extMgrReg )
 		ExtensionManager_Register_Add( extMgrReg, self->info );
 }
@@ -257,7 +257,7 @@ void Mesh_SetGenerator( void* mesh, void
 	assert( self );
 
 	Mesh_Destruct( self );
-	self->generator = generator;
+	self->generator = (MeshGenerator*)generator;
 }
 
 void Mesh_SetAlgorithms( void* mesh, void* algorithms ) {
@@ -275,7 +275,7 @@ void Mesh_SetAlgorithms( void* mesh, voi
 	FreeObject( self->algorithms );
 	if( algorithms ) {
 		assert( Stg_CheckType( algorithms, Mesh_Algorithms ) );
-		self->algorithms = algorithms;
+		self->algorithms = (Mesh_Algorithms*)algorithms;
 	}
 	else
 		self->algorithms = Mesh_Algorithms_New( "", NULL );
@@ -283,13 +283,13 @@ void Mesh_SetAlgorithms( void* mesh, voi
 	Mesh_Algorithms_SetMesh( self->algorithms, self );
 }
 
-unsigned Mesh_GetDimSize( void* mesh ) {
+MeshTopology_Dim Mesh_GetDimSize( void* mesh ) {
 	Mesh*	self = (Mesh*)mesh;
 
 	assert( self );
 	assert( self->topo );
 
-	return self->topo->nDims;
+	return (MeshTopology_Dim)(self->topo->nDims);
 }
 
 unsigned Mesh_GetGlobalSize( void* mesh, MeshTopology_Dim dim ) {
@@ -365,7 +365,7 @@ Bool Mesh_GlobalToDomain( void* mesh, Me
 	assert( self );
 	assert( self->topo );
 
-	return Sync_TryGlobalToDomain( IGraph_GetDomain( self->topo, dim ), global, domain );
+	return Sync_TryGlobalToDomain( IGraph_GetDomain( self->topo, dim ), global, (int*)domain );
 }
 
 unsigned Mesh_DomainToGlobal( void* mesh, MeshTopology_Dim dim, unsigned domain ) {
@@ -383,7 +383,7 @@ Bool Mesh_LocalToShared( void* mesh, Mes
 	assert( self );
 	assert( self->topo );
 
-	return Sync_TryLocalToShared( IGraph_GetDomain( self->topo, dim ), domain, shared );
+	return Sync_TryLocalToShared( IGraph_GetDomain( self->topo, dim ), domain, (int*)shared );
 }
 
 unsigned Mesh_SharedToLocal( void* mesh, MeshTopology_Dim dim, unsigned shared ) {
@@ -527,14 +527,14 @@ Bool Mesh_HasExtension( void* mesh, cons
 
 	assert( self );
 
-	return (ExtensionManager_GetHandle( self->info, (Name)name ) != -1 ) ?  True : False;
+	return (ExtensionManager_GetHandle( self->info, (Name)name ) != (unsigned)(-1) ) ?  True : False;
 }
 
 void* _Mesh_GetExtension( void* mesh, const Name name ) {
 	Mesh* self = (Mesh*)mesh;
 
 	assert( self );
-	assert( ExtensionManager_GetHandle( self->info, (Name)name ) != -1  );
+	assert( ExtensionManager_GetHandle( self->info, (Name)name ) != (unsigned)(-1)  );
 
 	return ExtensionManager_Get( self->info, self, ExtensionManager_GetHandle( self->info, (Name)name )  );
 }
@@ -596,7 +596,7 @@ void Mesh_DeformationUpdate( void* mesh 
 
 	assert( self );
 
-	if( Mesh_GetDomainSize( self, 0 ) ) {
+	if( Mesh_GetDomainSize( self, (MeshTopology_Dim)0 ) ) {
 		self->minSep = Mesh_Algorithms_GetMinimumSeparation( self->algorithms, self->minAxialSep );
 		Mesh_Algorithms_GetLocalCoordRange( self->algorithms, self->minLocalCrd, self->maxLocalCrd );
 		Mesh_Algorithms_GetDomainCoordRange( self->algorithms, self->minDomainCrd, self->maxDomainCrd );
@@ -613,9 +613,9 @@ void Mesh_Sync( void* mesh ) {
 
 	assert( self );
 
-	sync = Mesh_GetSync( self, 0 );
+	sync = Mesh_GetSync( self, (MeshTopology_Dim)0 );
 	nDims = Mesh_GetDimSize( self );
-	nLocals = Mesh_GetLocalSize( self, 0 );
+	nLocals = Mesh_GetLocalSize( self, (MeshTopology_Dim)0 );
 	Sync_SyncArray( sync, self->verts[0], nDims * sizeof(double), self->verts[nLocals], nDims * sizeof(double), nDims * sizeof(double) );
 
 	/* TODO
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/MeshClass.h
--- a/Mesh/src/MeshClass.h	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/MeshClass.h	Wed May 11 13:27:02 2011 -0700
@@ -144,7 +144,7 @@
 	void Mesh_SetTopologyDataSize( void* mesh, MeshTopology_Dim dim, unsigned size );
 	void* Mesh_GetTopologyData( void* mesh, MeshTopology_Dim dim );
 
-	unsigned Mesh_GetDimSize( void* mesh );
+	MeshTopology_Dim Mesh_GetDimSize( void* mesh );
 	unsigned Mesh_GetGlobalSize( void* mesh, MeshTopology_Dim dim );
 	unsigned Mesh_GetLocalSize( void* mesh, MeshTopology_Dim dim );
 	unsigned Mesh_GetRemoteSize( void* mesh, MeshTopology_Dim dim );
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/MeshGenerator.c
--- a/Mesh/src/MeshGenerator.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/MeshGenerator.c	Wed May 11 13:27:02 2011 -0700
@@ -223,7 +223,7 @@ void _MeshGenerator_Destroy( void* meshG
 
 void MeshGenerator_SetFullIncidence( void* meshGenerator ) {
 	MeshGenerator* self = (MeshGenerator*)meshGenerator;
-	int d_i, d_j;
+	unsigned d_i, d_j;
 
 	assert( self );
 
@@ -293,7 +293,7 @@ void MeshGenerator_AddMesh( void* meshGe
 	}
 
 	/* Add the new mesh. */
-	self->meshes[self->nMeshes - 1] = mesh;
+	self->meshes[self->nMeshes - 1] = (Mesh*)mesh;
 	((Mesh*)mesh)->generator = self;
 }
 
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/MeshGenerator.h
--- a/Mesh/src/MeshGenerator.h	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/MeshGenerator.h	Wed May 11 13:27:02 2011 -0700
@@ -104,7 +104,7 @@
 		(Mesh*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define MeshGenerator_DeepCopy( self ) \
 		(Mesh*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _MeshGenerator_Copy( void* meshGenerator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _MeshGenerator_Copy( const void* meshGenerator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	void _MeshGenerator_AssignFromXML( void* meshGenerator, Stg_ComponentFactory* cf, void* data );
 	void _MeshGenerator_Build( void* meshGenerator, void* data );
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/MeshTopology.c
--- a/Mesh/src/MeshTopology.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/MeshTopology.c	Wed May 11 13:27:02 2011 -0700
@@ -43,7 +43,7 @@ void _MeshTopology_Init( void* _self ) {
    MeshTopology* self = (MeshTopology*)_self;
 
    _NewClass_Init( self );
-   self->nDims = 0;
+   self->nDims = (MeshTopology_Dim)0;
    self->nTDims = 0;
    self->shadDepth = 0;
    self->comm = NULL;
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/MeshVariable.c
--- a/Mesh/src/MeshVariable.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/MeshVariable.c	Wed May 11 13:27:02 2011 -0700
@@ -126,7 +126,7 @@ void _MeshVariable_AssignFromXML( void* 
 void _MeshVariable_AssignFromXML( void* meshVariable, Stg_ComponentFactory* cf, void* data ) {
 	MeshVariable*		self = (MeshVariable*)meshVariable;
 	SizeT					dataOffsets[] = { 0 };
-	Variable_DataType	dataTypes[] = { 0 };		/* Init value later */
+	Variable_DataType	dataTypes[] = { (Variable_DataType)0 };		/* Init value later */
 	Index					dataTypeCounts[] = { 1 };
 	Dictionary*			componentDict = NULL;
 	Dictionary*			thisComponentDict = NULL;
@@ -161,7 +161,7 @@ void _MeshVariable_AssignFromXML( void* 
 	MeshVariable_SetMesh( self, mesh );
 
 	/* Get the topological element we're intereseted in. */
-	self->topoDim = Stg_ComponentFactory_GetUnsignedInt( cf, self->name, (Dictionary_Entry_Key)"topologicalDim", 0  );
+	self->topoDim = (MeshTopology_Dim)Stg_ComponentFactory_GetUnsignedInt( cf, self->name, (Dictionary_Entry_Key)"topologicalDim", 0  );
 			
 	/* Get Type of Variable */
 	dataTypeName = Dictionary_GetString( thisComponentDict, (Dictionary_Entry_Key)"DataType"  );
@@ -204,7 +204,7 @@ void _MeshVariable_AssignFromXML( void* 
 	else
 		Journal_Firewall( False, error, "Variable '%s' cannot understand rank '%s'\n", self->name, rankName );
 
-	_Variable_Init( (Variable*)self, context, 1, dataOffsets, dataTypes, dataTypeCounts, names, 0, NULL, _MeshVariable_GetMeshArraySize, (void**)&self->arrayPtr, True, variableRegister );
+	_Variable_Init( (Variable*)self, context, 1, dataOffsets, dataTypes, dataTypeCounts, names, 0, NULL, _MeshVariable_GetMeshArraySize, (void**)&self->arrayPtr, True, (Variable_Register*)variableRegister );
 
 	/* Clean Up */
 	if (names)
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Mesh_Algorithms.c
--- a/Mesh/src/Mesh_Algorithms.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Mesh_Algorithms.c	Wed May 11 13:27:02 2011 -0700
@@ -205,7 +205,7 @@ void _Mesh_Algorithms_Update( void* algo
 	nDims = Mesh_GetDimSize( self->mesh );
 	for( d_i = 0; d_i < nDims; d_i++ ) {
 	   if( Class_IsSuper( self->mesh->topo, IGraph ) &&
-	       (!Mesh_GetGlobalSize( self->mesh, d_i ) || !Mesh_HasIncidence( self->mesh, nDims, d_i )) )
+	       (!Mesh_GetGlobalSize( self->mesh, (MeshTopology_Dim)d_i ) || !Mesh_HasIncidence( self->mesh, (MeshTopology_Dim)nDims, (MeshTopology_Dim)d_i )) )
 	   {
 			break;
 	   }
@@ -250,7 +250,7 @@ Bool _Mesh_Algorithms_SearchElements( vo
 	assert( elInd );
 
 	mesh = self->mesh;
-	if( Mesh_Algorithms_Search( self, point, &dim, &ind ) ) {
+	if(Mesh_Algorithms_Search(self,point,(MeshTopology_Dim*)(&dim),&ind)) {
 		unsigned	nDims;
 
 		nDims = Mesh_GetDimSize( mesh );
@@ -262,21 +262,31 @@ Bool _Mesh_Algorithms_SearchElements( vo
 			unsigned	inc_i;
 
 			/* Must have required incidence for this to work. */
-			assert( Mesh_HasIncidence( mesh, dim, nDims ) );
+			assert(Mesh_HasIncidence(mesh,(MeshTopology_Dim)dim,
+                                                 (MeshTopology_Dim)nDims));
 
-			nLocalEls = Mesh_GetLocalSize( mesh, nDims );
-			Mesh_GetIncidence( mesh, dim, ind, nDims, self->incArray );
+			nLocalEls = Mesh_GetLocalSize(mesh,
+                                                      (MeshTopology_Dim)nDims);
+			Mesh_GetIncidence( mesh, (MeshTopology_Dim)dim,
+                                           ind, (MeshTopology_Dim)nDims,
+                                           self->incArray );
 			nInc = IArray_GetSize( self->incArray );
 			inc = (unsigned*)IArray_GetPtr( self->incArray );
 			assert( nInc );
-			lowest = Mesh_DomainToGlobal( mesh, nDims, inc[0] );
+			lowest = Mesh_DomainToGlobal(mesh,
+                                                     (MeshTopology_Dim)nDims,
+                                                     inc[0] );
 			for( inc_i = 1; inc_i < nInc; inc_i++ ) {
-				global = Mesh_DomainToGlobal( mesh, nDims, inc[inc_i] );
-				if( global < lowest )
-					lowest = global;
+                          global=Mesh_DomainToGlobal(mesh,
+                                                     (MeshTopology_Dim)nDims,
+                                                     inc[inc_i] );
+                          if( global < lowest )
+                            lowest = global;
 			}
 
-			insist( Mesh_GlobalToDomain( mesh, nDims, lowest, elInd), == True );
+			insist( Mesh_GlobalToDomain(mesh,
+                                                    (MeshTopology_Dim)nDims,
+                                                    lowest, elInd), == True );
 		}
 		else
 			*elInd = ind;
@@ -305,7 +315,8 @@ double _Mesh_Algorithms_GetMinimumSepara
 		dimSep = NULL;
 
 	minSep = HUGE_VAL;
-	nDomainEls = Mesh_GetDomainSize( mesh, Mesh_GetDimSize( mesh ) );
+	nDomainEls=
+          Mesh_GetDomainSize(mesh,Mesh_GetDimSize(mesh));
 	for( e_i = 0; e_i < nDomainEls; e_i++ ) {
 		Mesh_ElementType*	elType;
 		double			curSep;
@@ -340,11 +351,12 @@ void _Mesh_Algorithms_GetLocalCoordRange
 
 	mesh = self->mesh;
 	nDims = Mesh_GetDimSize( mesh );
-	nEls = Mesh_GetLocalSize( mesh, nDims );
+	nEls = Mesh_GetLocalSize( mesh, (MeshTopology_Dim)nDims );
 	memcpy( min, Mesh_GetVertex( mesh, 0 ), nDims * sizeof(double) );
 	memcpy( max, Mesh_GetVertex( mesh, 0 ), nDims * sizeof(double) );
 	for( e_i = 0; e_i < nEls; e_i++ ) {
-		Mesh_GetIncidence( mesh, nDims, e_i, 0, self->incArray );
+		Mesh_GetIncidence( mesh, (MeshTopology_Dim)nDims,
+                                   e_i, (MeshTopology_Dim)0, self->incArray );
 		nVerts = IArray_GetSize( self->incArray );
 		verts = (unsigned*)IArray_GetPtr( self->incArray );
 		for( v_i = 0; v_i < nVerts; v_i++ ) {
@@ -408,7 +420,7 @@ void _Mesh_Algorithms_GetGlobalCoordRang
 
 	comm = Comm_GetMPIComm( Mesh_GetCommTopology( mesh, MT_VERTEX ) );
 	Mesh_Algorithms_GetLocalCoordRange( self, localMin, localMax );
-	for( d_i = 0; d_i < Mesh_GetDimSize( mesh ); d_i++ ) {
+	for( d_i = 0; d_i < (unsigned)Mesh_GetDimSize( mesh ); d_i++ ) {
 		MPI_Allreduce( localMin + d_i, min + d_i, 1, MPI_DOUBLE, MPI_MIN, comm );
 		MPI_Allreduce( localMax + d_i, max + d_i, 1, MPI_DOUBLE, MPI_MAX, comm );
 	}
@@ -533,7 +545,8 @@ Bool Mesh_Algorithms_SearchWithFullIncid
 
 	assert( self );
 	assert( self->mesh );
-	assert( Mesh_HasIncidence( self->mesh, MT_VERTEX, Mesh_GetDimSize( self->mesh ) ) );
+	assert(Mesh_HasIncidence(self->mesh,MT_VERTEX,
+                                 Mesh_GetDimSize(self->mesh)));
 	assert( dim );
 	assert( ind );
 
@@ -552,7 +565,8 @@ Bool Mesh_Algorithms_SearchWithFullIncid
 	nearVert = Mesh_NearestVertex( mesh, point );
 
 	/* Get vertex/element incidence. */
-	Mesh_GetIncidence( mesh, MT_VERTEX, nearVert, nDims, self->incArray );
+	Mesh_GetIncidence( mesh, MT_VERTEX, (MeshTopology_Dim)nearVert,
+                           (MeshTopology_Dim)nDims, self->incArray );
 	nInc = IArray_GetSize( self->incArray );
 	inc = (unsigned*)IArray_GetPtr( self->incArray );
 
@@ -573,7 +587,7 @@ Bool Mesh_Algorithms_SearchWithFullIncid
    vertex.  Yes, this really happens. */
 
 	/* Brute force, search every element in turn (last resort). */
-	nEls = Mesh_GetDomainSize( mesh, nDims );
+	nEls = Mesh_GetDomainSize( mesh, (MeshTopology_Dim)nDims );
 	for( e_i = 0; e_i < nEls; e_i++ ) {
 		if( Mesh_ElementHasPoint( mesh, e_i, point, dim, ind ) )
 			return True;
@@ -597,7 +611,8 @@ Bool Mesh_Algorithms_SearchWithMinIncide
 
 	assert( self );
 	assert( self->mesh );
-	assert( Mesh_HasIncidence( self->mesh, MT_VERTEX, Mesh_GetDimSize( self->mesh ) ) );
+	assert(Mesh_HasIncidence(self->mesh, MT_VERTEX,
+                                 Mesh_GetDimSize(self->mesh)));
 	assert( dim );
 	assert( ind );
 
@@ -616,7 +631,8 @@ Bool Mesh_Algorithms_SearchWithMinIncide
 	nearVert = Mesh_NearestVertex( mesh, point );
 
 	/* Get vertex/element incidence. */
-	Mesh_GetIncidence( mesh, MT_VERTEX, nearVert, nDims, self->incArray );
+	Mesh_GetIncidence( mesh, MT_VERTEX, nearVert, (MeshTopology_Dim)nDims,
+                           self->incArray );
 	nInc = IArray_GetSize( self->incArray );
 	inc = (unsigned*)IArray_GetPtr( self->incArray );
 
@@ -626,33 +642,36 @@ Bool Mesh_Algorithms_SearchWithMinIncide
 		if( Mesh_ElementHasPoint( mesh, inc[inc_i], point, dim, ind ) ) {
 			unsigned	global;
 
-			global = Mesh_DomainToGlobal( mesh, nDims, inc[inc_i] );
+			global=Mesh_DomainToGlobal(mesh,(MeshTopology_Dim)nDims,
+                                                   inc[inc_i]);
 			if( global < lowest )
 				lowest = global;
 		}
 	}
 	if( lowest != (unsigned)-1 ) {
-		insist( Mesh_GlobalToDomain( mesh, nDims, lowest, ind ), == True );
-		*dim = nDims;
+		insist(Mesh_GlobalToDomain(mesh,(MeshTopology_Dim)nDims,
+                                           lowest, ind ), == True );
+		*dim = (MeshTopology_Dim)nDims;
 		return True;
 	}
 
 	/* Brute force, search every element in turn (last resort). */
 	lowest = (unsigned)-1;
-	nEls = Mesh_GetDomainSize( mesh, nDims );
+	nEls = Mesh_GetDomainSize( mesh, (MeshTopology_Dim)nDims );
 	for( e_i = 0; e_i < nEls; e_i++ ) {
-		if( Mesh_ElementHasPoint( mesh, e_i, point, dim, ind ) ) {
-			unsigned	global;
-
-			global = Mesh_DomainToGlobal( mesh, nDims, e_i );
-			if( global < lowest )
-				lowest = global;
-		}
+          if( Mesh_ElementHasPoint( mesh, e_i, point, dim, ind ) ) {
+            unsigned	global;
+            
+            global = Mesh_DomainToGlobal( mesh, (MeshTopology_Dim)nDims, e_i );
+            if( global < lowest )
+              lowest = global;
+          }
 	}
 	if( lowest != (unsigned)-1 ) {
-		insist( Mesh_GlobalToDomain( mesh, nDims, lowest, ind ), == True );
-		*dim = nDims;
-		return True;
+          insist(Mesh_GlobalToDomain(mesh,(MeshTopology_Dim)nDims,lowest,ind),
+                 ==True);
+          *dim = (MeshTopology_Dim)nDims;
+          return True;
 	}
 
 	return False;
@@ -685,7 +704,7 @@ Bool Mesh_Algorithms_SearchGeneral( void
 	}
 
 	/* Brute force, search every element in turn. */
-	nEls = Mesh_GetDomainSize( mesh, nDims );
+	nEls = Mesh_GetDomainSize( mesh, (MeshTopology_Dim)nDims );
 	for( e_i = 0; e_i < nEls; e_i++ ) {
 		if( Mesh_ElementHasPoint( mesh, e_i, point, dim, ind ) )
 			return True;
@@ -705,14 +724,14 @@ Bool Mesh_Algorithms_SearchWithTree( voi
 
    *dim = Mesh_GetDimSize( self->mesh );
    MPI_Comm_size( MPI_COMM_WORLD, &curRank );
-   nLocals = Mesh_GetLocalSize( self->mesh, *dim );
+   nLocals=Mesh_GetLocalSize(self->mesh,(MeshTopology_Dim)(*dim));
    if( !SpatialTree_Search( self->tree, pnt, &nEls, &els ) )
       return False;
 
    *el = nLocals;
    for( ii = 0; ii < nEls; ii++ ) {
       if( Mesh_ElementHasPoint( self->mesh, els[ii], pnt, &curDim, &curEl ) ) {
-	 if( curEl >= nLocals ) {
+        if( curEl >= (unsigned)nLocals ) {
 	    owner = Mesh_GetOwner( self->mesh, curDim, curEl - nLocals );
 	    owner = Comm_RankLocalToGlobal( self->mesh->topo->comm, owner );
 	    if( owner <= curRank ) {
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Mesh_CentroidAlgorithms.c
--- a/Mesh/src/Mesh_CentroidAlgorithms.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Mesh_CentroidAlgorithms.c	Wed May 11 13:27:02 2011 -0700
@@ -181,28 +181,30 @@ unsigned Mesh_CentroidAlgorithms_Nearest
 	assert( self );
 
 	if( Mesh_SearchElements( self->elMesh, point, &elInd ) ) {
-		unsigned	nInc, *inc;
-
-		nDims = Mesh_GetDimSize( self->mesh );
-		Mesh_GetIncidence( self->elMesh, Mesh_GetDimSize( self->mesh ), elInd, MT_VERTEX, 
-				   self->incArray );
-		nInc = IArray_GetSize( self->incArray );
-		inc = (unsigned*)IArray_GetPtr( self->incArray );
-		near = inc[0];
-		vert = Mesh_GetVertex( self->mesh, inc[0] );
-		nearDist = Vec_Sep( nDims, vert, point );
-		for( inc_i = 1; inc_i < nInc; inc_i++ ) {
-			vert = Mesh_GetVertex( self->mesh, inc[inc_i] );
-			dist = Vec_Sep( nDims, vert, point );
-			if( dist < nearDist ) {
-				near = inc[inc_i];
-				nearDist = dist;
-			}
-		}
-		return near;
+          unsigned	nInc, *inc;
+          
+          nDims = Mesh_GetDimSize( self->mesh );
+          Mesh_GetIncidence(self->elMesh,
+                            Mesh_GetDimSize( self->mesh ),
+                            elInd, MT_VERTEX, 
+                            self->incArray );
+          nInc = IArray_GetSize( self->incArray );
+          inc = (unsigned*)IArray_GetPtr( self->incArray );
+          near = inc[0];
+          vert = Mesh_GetVertex( self->mesh, inc[0] );
+          nearDist = Vec_Sep( nDims, vert, point );
+          for( inc_i = 1; inc_i < nInc; inc_i++ ) {
+            vert = Mesh_GetVertex( self->mesh, inc[inc_i] );
+            dist = Vec_Sep( nDims, vert, point );
+            if( dist < nearDist ) {
+              near = inc[inc_i];
+              nearDist = dist;
+            }
+          }
+          return near;
 	}
 	else
-		return _Mesh_Algorithms_NearestVertex( self, point );
+          return _Mesh_Algorithms_NearestVertex( self, point );
 }
 
 Bool Mesh_CentroidAlgorithms_Search( void* centroidAlgorithms, double* point, 
@@ -256,7 +258,7 @@ void Mesh_CentroidAlgorithms_SetElementM
 
 	assert( self && Stg_CheckType( self, Mesh_CentroidAlgorithms ) );
 
-	self->elMesh = mesh;
+	self->elMesh = (Mesh*)mesh;
 }
 
 
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Mesh_CentroidType.c
--- a/Mesh/src/Mesh_CentroidType.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Mesh_CentroidType.c	Wed May 11 13:27:02 2011 -0700
@@ -55,7 +55,7 @@ const Type Mesh_CentroidType_Type = "Mes
 ** Constructors
 */
 
-Mesh_CentroidType* Mesh_CentroidType_New( Name name ) {
+Mesh_CentroidType* Mesh_CentroidType_New() {
 	/* Variables set in this function */
 	SizeT                                                    _sizeOfSelf = sizeof(Mesh_CentroidType);
 	Type                                                            type = Mesh_CentroidType_Type;
@@ -150,7 +150,9 @@ void Mesh_CentroidType_GetCentroid( void
 
 	assert( self && Stg_CheckType( self, Mesh_CentroidType ) );
 
-	Mesh_GetIncidence( self->mesh, Mesh_GetDimSize( self->mesh ), element, MT_VERTEX, 
+	Mesh_GetIncidence( self->mesh,
+                           Mesh_GetDimSize( self->mesh ),
+                           element, MT_VERTEX, 
 			   self->incArray );
 	assert( IArray_GetSize( self->incArray ) == 1 );
 	inc = IArray_GetPtr( self->incArray );
@@ -168,7 +170,7 @@ void Mesh_CentroidType_SetElementMesh( v
 	assert( self && Stg_CheckType( self, Mesh_CentroidType ) );
 	assert( !mesh || Stg_CheckType( mesh, Mesh ) );
 
-	self->elMesh = mesh;
+	self->elMesh = (Mesh*)mesh;
 }
 
 
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Mesh_ElementType.c
--- a/Mesh/src/Mesh_ElementType.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Mesh_ElementType.c	Wed May 11 13:27:02 2011 -0700
@@ -109,7 +109,7 @@ void _Mesh_ElementType_GetCentroid( void
 	mesh = self->mesh;
 	nDims = Mesh_GetDimSize( mesh );
 	inc = IArray_New();
-	Mesh_GetIncidence( mesh, nDims, element, MT_VERTEX, inc );
+	Mesh_GetIncidence(mesh,(MeshTopology_Dim)nDims,element,MT_VERTEX,inc);
 	nIncVerts = (unsigned)IArray_GetSize( inc );
 	incVerts = IArray_GetPtr( inc );
 
@@ -137,7 +137,7 @@ void Mesh_ElementType_SetMesh( void* ele
 	assert( self && Stg_CheckType( self, Mesh_ElementType ) );
 	assert( !mesh || Stg_CheckType( mesh, Mesh ) );
 
-	self->mesh = mesh;
+	self->mesh = (Mesh*)mesh;
 	Mesh_ElementType_Update( self );
 }
 
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Mesh_HexType.c
--- a/Mesh/src/Mesh_HexType.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Mesh_HexType.c	Wed May 11 13:27:02 2011 -0700
@@ -56,7 +56,7 @@ const Type Mesh_HexType_Type = "Mesh_Hex
 ** Constructors
 */
 
-Mesh_HexType* Mesh_HexType_New( Name name ) {
+Mesh_HexType* Mesh_HexType_New() {
 	/* Variables set in this function */
 	SizeT                                                    _sizeOfSelf = sizeof(Mesh_HexType);
 	Type                                                            type = Mesh_HexType_Type;
@@ -152,7 +152,7 @@ void Mesh_HexType_Update( void* hexType 
 
 	nDims = Mesh_GetDimSize( self->mesh );
 	for( d_i = 0; d_i < nDims; d_i++ ) {
-		if( Class_IsSuper( self->mesh->topo, IGraph ) && (!Mesh_GetGlobalSize( self->mesh, d_i ) || !Mesh_HasIncidence( self->mesh, nDims, d_i )) ) {
+		if( Class_IsSuper( self->mesh->topo, IGraph ) && (!Mesh_GetGlobalSize( self->mesh, (MeshTopology_Dim)d_i ) || !Mesh_HasIncidence( self->mesh, (MeshTopology_Dim)nDims, (MeshTopology_Dim)d_i )) ) {
 			break;
 		}
 	}
@@ -198,9 +198,8 @@ double Mesh_HexType_GetMinimumSeparation
 	unsigned*		map = NULL;
 	double			curSep = 0.0;
 	double*			dimSep = NULL;
-	unsigned			nInc = 0;
-	unsigned			e_i;
-	int				*inc = NULL;
+	unsigned		e_i, nInc = 0;
+	int			*inc = NULL;
 
 	assert( self );
 	assert( elInd < Mesh_GetDomainSize( self->mesh, Mesh_GetDimSize( self->mesh ) ) );
@@ -214,7 +213,7 @@ double Mesh_HexType_GetMinimumSeparation
 
 	dimSep = AllocArray( double, Mesh_GetDimSize( self->mesh ) );
 
-	for( e_i = 0; e_i > Mesh_GetDimSize( self->mesh ); e_i++ )
+	for( e_i = 0; e_i > (unsigned)Mesh_GetDimSize( self->mesh ); e_i++ )
 		dimSep[e_i] = 0.0;
 
 	Mesh_GetIncidence( self->mesh, Mesh_GetDimSize( self->mesh ), elInd, MT_VERTEX, self->incArray );
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Mesh_RegularAlgorithms.c
--- a/Mesh/src/Mesh_RegularAlgorithms.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Mesh_RegularAlgorithms.c	Wed May 11 13:27:02 2011 -0700
@@ -158,9 +158,8 @@ void Mesh_RegularAlgorithms_SetMesh( voi
 
 void Mesh_RegularAlgorithms_Update( void* algorithms ) {
 	Mesh_RegularAlgorithms*	self = (Mesh_RegularAlgorithms*)algorithms;
-	unsigned		nDims;
+	unsigned		nDims, ii;
 	Grid*			eGrid;
-	int			ii;
 
 	assert( self && Stg_CheckType( self, Mesh_RegularAlgorithms ) );
 	assert( self->mesh );
@@ -228,7 +227,7 @@ Bool Mesh_RegularAlgorithms_SearchElemen
 	}
 
 	*elInd = Grid_Project( elGrid, inds );
-	return Mesh_GlobalToDomain( mesh, nDims, *elInd, elInd );
+	return Mesh_GlobalToDomain(mesh,(MeshTopology_Dim)nDims,*elInd,elInd);
 }
 
 double _Mesh_RegularAlgorithms_GetMinimumSeparation( void* algorithms, void* _mesh, double* perDim ) {
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/Remesher.c
--- a/Mesh/src/Remesher.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/Remesher.c	Wed May 11 13:27:02 2011 -0700
@@ -142,7 +142,7 @@ void _Remesher_Build( void* remesher, vo
    assert( self );
    assert( self->mesh );
 
-   Stg_Component_Build( self->remeshFunc, data, False );   
+   Stg_Component_Build( (void*)(self->remeshFunc), data, False );   
    Stg_Component_Build( self->mesh, data, False );   
 }
 
@@ -151,7 +151,7 @@ void _Remesher_Initialise( void* remeshe
 
    assert( self );
 
-   Stg_Component_Initialise( self->remeshFunc, data, False );   
+   Stg_Component_Initialise( (void*)(self->remeshFunc), data, False );   
    Stg_Component_Initialise( self->mesh, data, False );   
 }
 
@@ -167,7 +167,7 @@ void _Remesher_Destroy( void* remesher, 
 
    assert( self );
 
-   Stg_Component_Destroy( self->remeshFunc, data, False );   
+   Stg_Component_Destroy( (void*)(self->remeshFunc), data, False );   
 }
 
 /* Public Functions */
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/SpatialTree.c
--- a/Mesh/src/SpatialTree.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/SpatialTree.c	Wed May 11 13:27:02 2011 -0700
@@ -110,7 +110,7 @@ void SpatialTree_SetMesh( void* _self, v
    SpatialTree* self = Class_Cast( _self, SpatialTree );
 
    SpatialTree_Clear( self );
-   self->mesh = mesh;
+   self->mesh = (Mesh*)mesh;
 }
 
 void SpatialTree_Rebuild( void* _self ) {
@@ -131,7 +131,7 @@ void SpatialTree_Rebuild( void* _self ) 
    self->max = Class_Array( self, double, self->nDims );
 
    Mesh_GetDomainCoordRange( self->mesh, self->min, self->max );
-   nVerts = Mesh_GetDomainSize( self->mesh, 0 );
+   nVerts = Mesh_GetDomainSize( self->mesh, (MeshTopology_Dim)0 );
    verts = Class_Array( self, int, nVerts );
    for( ii = 0; ii < nVerts; ii++ )
       verts[ii] = ii;
@@ -234,7 +234,7 @@ void SpatialTree_SplitNode( SpatialTree*
 
 	 newNode = GETNODECHILDREN( self, node )[ii];
 	 newNodePtr = GETNODECHILDREN( self, node ) + ii;
-	 SpatialTree_SplitNode( self, newNode, newNodePtr, subMin, subMax,
+	 SpatialTree_SplitNode( self, newNode, (void**)newNodePtr, subMin, subMax,
 				subSizes[ii], subSets[ii] );
       }
 
@@ -278,14 +278,16 @@ void SpatialTree_BuildElements( SpatialT
 
    maxEls = 0;
    for( ii = 0; ii < nVerts; ii++ )
-      maxEls += Mesh_GetIncidenceSize( self->mesh, 0, verts[ii], self->nDims );
+      maxEls += Mesh_GetIncidenceSize(self->mesh,(MeshTopology_Dim)0,
+                                      verts[ii],(MeshTopology_Dim)(self->nDims));
 
    curEls = Class_Array( self, int, maxEls );
 
    inc = IArray_New();
    maxEls = 0;
    for( ii = 0; ii < nVerts; ii++ ) {
-      Mesh_GetIncidence( self->mesh, 0, verts[ii], self->nDims, inc );
+      Mesh_GetIncidence(self->mesh,(MeshTopology_Dim)0,verts[ii],
+                        (MeshTopology_Dim)(self->nDims),inc);
       nIncEls = IArray_GetSize( inc );
       incEls = IArray_GetPtr( inc );
       for( jj = 0; jj < nIncEls; jj++ ) {
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/SurfaceAdaptor.c
--- a/Mesh/src/SurfaceAdaptor.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/SurfaceAdaptor.c	Wed May 11 13:27:02 2011 -0700
@@ -294,8 +294,8 @@ void _SurfaceAdaptor_AssignFromXML_Surfa
       (info->topo_data.maxZ-info->topo_data.minZ)
       /(info->topo_data.nz-1);
     info->topo_data.heights=
-      malloc(sizeof(double)*info->topo_data.nx
-             *info->topo_data.nz);
+      (double*)malloc(sizeof(double)*info->topo_data.nx
+                      *info->topo_data.nz);
     fp=fopen(surfaceFileName,"r");
     if(!fp)
       {
@@ -440,7 +440,7 @@ void SurfaceAdaptor_Generate( void* adap
 
 	/* Loop over domain nodes. */
 	sync = IGraph_GetDomain( mesh->topo, MT_VERTEX );
-	for( n_i = 0; n_i < Sync_GetNumDomains( sync ); n_i++ ) {
+	for( n_i = 0; n_i < (unsigned)Sync_GetNumDomains( sync ); n_i++ ) {
 		unsigned gNode;
 		double percentage, min_height, max_height;
                 double topDeform=0.0;
diff -r e534f234897d -r fecc51eb5f13 Mesh/src/linearSpaceAdaptor.c
--- a/Mesh/src/linearSpaceAdaptor.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/src/linearSpaceAdaptor.c	Wed May 11 13:27:02 2011 -0700
@@ -264,7 +264,7 @@ void LinearSpaceAdaptor_Generate( void* 
   Mesh*				mesh = (Mesh*)_mesh;
   const Sync*			sync;
   double			x;
-  Index   			n_i;
+  int   			n_i;
 
   /* Build base mesh, which is assumed to be cartesian. */
   MeshGenerator_Generate( self->generator, mesh, data );
diff -r e534f234897d -r fecc51eb5f13 Mesh/tests/CartesianGeneratorSuite.c
--- a/Mesh/tests/CartesianGeneratorSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/tests/CartesianGeneratorSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -90,7 +90,8 @@ void CartesianGeneratorSuite_TestElement
 	unsigned	gNode0, gNode1, gNode2;
 	int		checkNodes;
 
-	for( el_i = 0; el_i < Mesh_GetLocalSize( data->mesh, dim ); el_i++ ) {
+	for(el_i=0;el_i<Mesh_GetLocalSize(data->mesh,(MeshTopology_Dim)dim);
+            el_i++ ) {
 		gEl = Sync_DomainToGlobal( elSync, el_i );
 		Grid_Lift( elGrid, gEl, dimInds );	
 
@@ -194,7 +195,7 @@ void CartesianGeneratorSuite_TestEdgeVer
 	Grid_SetNumDims( edgeGrid_2, dim );
 	Grid_SetSizes( edgeGrid_2, sizes );
 
-	for( edge_i = 0; edge_i < Sync_GetNumDomains( edgeSync ); edge_i++ ) {
+	for(edge_i=0;edge_i<(unsigned)Sync_GetNumDomains(edgeSync);edge_i++) {
 		gEdge = Sync_DomainToGlobal( edgeSync, edge_i );
 
 		MeshTopology_GetIncidence( (IGraph*)data->mesh->topo, MT_EDGE, edge_i, MT_VERTEX, inc );
@@ -292,7 +293,9 @@ void CartesianGeneratorSuite_TestFaceVer
 	Grid_SetNumDims( faceGrid_2, dim );
 	Grid_SetSizes( faceGrid_2, sizes );
 
-	for( face_i = 0; face_i < ((IGraph*)data->mesh->topo)->remotes[MT_FACE]->nDomains; face_i++ ) {
+	for(face_i = 0;
+            face_i<(unsigned)(((IGraph*)data->mesh->topo)->remotes[MT_FACE]->nDomains);
+            face_i++ ) {
 		gFace = Sync_DomainToGlobal( faceSync, face_i );
 
 		MeshTopology_GetIncidence( (IGraph*)data->mesh->topo, MT_FACE, face_i, MT_VERTEX, inc );
diff -r e534f234897d -r fecc51eb5f13 Mesh/tests/MeshSuite.c
--- a/Mesh/tests/MeshSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Mesh/tests/MeshSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -59,15 +59,18 @@ int MeshSuite_findOwner( Mesh* mesh, int
 	inc = IArray_New();
 
 	nDims = Mesh_GetDimSize( mesh );
-	Mesh_GetIncidence( mesh, 0, vert, nDims, inc );
-	lowest = Mesh_DomainToGlobal( mesh, nDims, IArray_GetPtr( inc )[0] );
+	Mesh_GetIncidence(mesh,(MeshTopology_Dim)0,vert,(MeshTopology_Dim)nDims,
+                          inc);
+	lowest = Mesh_DomainToGlobal( mesh, (MeshTopology_Dim)nDims,
+                                      IArray_GetPtr( inc )[0] );
 	for( ii = 1; ii < IArray_GetSize( inc ); ii++ ) {
-		cur = Mesh_DomainToGlobal( mesh, nDims, IArray_GetPtr( inc )[ii] );
+		cur = Mesh_DomainToGlobal( mesh, (MeshTopology_Dim)nDims,
+                                           IArray_GetPtr( inc )[ii] );
 		if( cur < lowest )
 			lowest = cur;
 	}
    NewClass_Delete( inc );
-   Mesh_GlobalToDomain( mesh, nDims, lowest, &lowest );
+   Mesh_GlobalToDomain(mesh,(MeshTopology_Dim)nDims,lowest,(unsigned*)(&lowest));
 
    return lowest;
 }
@@ -89,7 +92,7 @@ void MeshSuite_TestMeshNearVert1D( MeshS
 	CartesianGenerator*	gen;
 	Mesh*						mesh;
 	int						nDims;
-	int						sizes[3];
+	unsigned					sizes[3];
 	double					minCrd[3];
 	double					maxCrd[3];
 	int						nInc, *inc;
@@ -105,7 +108,7 @@ void MeshSuite_TestMeshNearVert1D( MeshS
 	gen = CartesianGenerator_New( "", NULL );
 	MeshGenerator_SetDimSize( gen, nDims );
 	CartesianGenerator_SetShadowDepth( gen, 1 );
-	CartesianGenerator_SetTopologyParams( gen, sizes, 0, NULL, NULL );
+	CartesianGenerator_SetTopologyParams(gen,sizes,0,NULL,NULL);
 	CartesianGenerator_SetGeometryParams( gen, minCrd, maxCrd );
 
 	mesh = Mesh_New( "", NULL );
@@ -113,16 +116,16 @@ void MeshSuite_TestMeshNearVert1D( MeshS
 	Stg_Component_Build( mesh, NULL, False );
 	incArray = IArray_New();
 
-	for( e_i = 0; e_i < Mesh_GetDomainSize( mesh, nDims ); e_i++ ) {
-		Mesh_GetIncidence( mesh, nDims, e_i, MT_VERTEX, incArray );
-		nInc = IArray_GetSize( incArray );
-		inc = IArray_GetPtr( incArray );
-		for( inc_i = 0; inc_i < nInc; inc_i++ ) {
-			vert = Mesh_GetVertex( mesh, inc[inc_i] );
-			if( !Mesh_NearestVertex( mesh, vert ) == inc[inc_i] ) break;
-      }
+	for(e_i=0;e_i<(int)Mesh_GetDomainSize(mesh,(MeshTopology_Dim)nDims);e_i++) {
+          Mesh_GetIncidence(mesh,(MeshTopology_Dim)nDims,e_i,MT_VERTEX,incArray);
+          nInc = IArray_GetSize( incArray );
+          inc = IArray_GetPtr( incArray );
+          for( inc_i = 0; inc_i < nInc; inc_i++ ) {
+            vert = Mesh_GetVertex( mesh, inc[inc_i] );
+            if( !Mesh_NearestVertex( mesh, vert ) == inc[inc_i] ) break;
+          }
 	}
-   pcu_check_true( e_i == Mesh_GetDomainSize( mesh, nDims ) );
+        pcu_check_true(e_i==(int)Mesh_GetDomainSize(mesh,(MeshTopology_Dim)nDims));
 
 	NewClass_Delete( incArray );
 
@@ -134,7 +137,7 @@ void MeshSuite_TestMeshNearVert2D( MeshS
 	CartesianGenerator*	gen;
 	Mesh*						mesh;
 	int						nDims;
-	int						sizes[3];
+	unsigned					sizes[3];
 	double					minCrd[3];
 	double					maxCrd[3];
 	int						nInc, *inc;
@@ -158,8 +161,8 @@ void MeshSuite_TestMeshNearVert2D( MeshS
 	Stg_Component_Build( mesh, NULL, False );
 	incArray = IArray_New();
 
-	for( e_i = 0; e_i < Mesh_GetDomainSize( mesh, nDims ); e_i++ ) {
-		Mesh_GetIncidence( mesh, nDims, e_i, MT_VERTEX, incArray );
+	for( e_i = 0; e_i < (int)Mesh_GetDomainSize( mesh, (MeshTopology_Dim)nDims ); e_i++ ) {
+		Mesh_GetIncidence( mesh, (MeshTopology_Dim)nDims, e_i, MT_VERTEX, incArray );
  		nInc = IArray_GetSize( incArray );
 		inc = IArray_GetPtr( incArray );
 		for( inc_i = 0; inc_i < nInc; inc_i++ ) {
@@ -167,7 +170,7 @@ void MeshSuite_TestMeshNearVert2D( MeshS
 			if( !Mesh_NearestVertex( mesh, vert ) == inc[inc_i] ) break;
 		}
 	}
-	pcu_check_true( e_i == Mesh_GetDomainSize( mesh, nDims ) );
+	pcu_check_true( e_i == (int)Mesh_GetDomainSize( mesh, (MeshTopology_Dim)nDims ) );
 
 	NewClass_Delete( incArray );
 
@@ -179,7 +182,7 @@ void MeshSuite_TestMeshNearVert3D( MeshS
 	CartesianGenerator*	gen;
 	Mesh*						mesh;
 	int						nDims;
-	int						sizes[3];
+	unsigned					sizes[3];
 	double					minCrd[3];
 	double					maxCrd[3];
 	int						nInc, *inc;
@@ -203,8 +206,8 @@ void MeshSuite_TestMeshNearVert3D( MeshS
 	Stg_Component_Build( mesh, NULL, False );
 	incArray = IArray_New();
 
-	for( e_i = 0; e_i < Mesh_GetDomainSize( mesh, nDims ); e_i++ ) {
-		Mesh_GetIncidence( mesh, nDims, e_i, MT_VERTEX, incArray );
+	for( e_i = 0; e_i < (int)Mesh_GetDomainSize( mesh, (MeshTopology_Dim)nDims ); e_i++ ) {
+		Mesh_GetIncidence( mesh, (MeshTopology_Dim)nDims, e_i, MT_VERTEX, incArray );
 		nInc = IArray_GetSize( incArray );
 		inc = IArray_GetPtr( incArray );
 		for( inc_i = 0; inc_i < nInc; inc_i++ ) {
@@ -212,7 +215,7 @@ void MeshSuite_TestMeshNearVert3D( MeshS
 			if( !Mesh_NearestVertex( mesh, vert ) == inc[inc_i] ) break;
 		}
 	}
-	pcu_check_true( e_i == Mesh_GetDomainSize( mesh, nDims ) );
+	pcu_check_true( e_i == (int)Mesh_GetDomainSize( mesh, (MeshTopology_Dim)nDims ) );
 
 	NewClass_Delete( incArray );
 
@@ -224,7 +227,7 @@ void MeshSuite_TestMeshSearch( MeshSuite
 	CartesianGenerator*	gen;
 	Mesh*						mesh;
 	int						nDims;
-	int						sizes[3];
+	unsigned					sizes[3];
 	double					minCrd[3];
 	double					maxCrd[3];
 	int						el;
@@ -244,13 +247,14 @@ void MeshSuite_TestMeshSearch( MeshSuite
 	Mesh_SetGenerator( mesh, gen );
 	Stg_Component_Build( mesh, NULL, False );
 
-	for( ii = 0; ii < Mesh_GetLocalSize( mesh, 0 ); ii++ ) {
-		if( !Mesh_SearchElements( mesh, Mesh_GetVertex( mesh, ii ), &el ) )
+	for( ii = 0; ii < (int)Mesh_GetLocalSize( mesh, (MeshTopology_Dim)0 ); ii++ ) {
+		if( !Mesh_SearchElements( mesh, Mesh_GetVertex( mesh, ii ),
+                                          (unsigned*)(&el) ) )
 			break;
 		if( el != MeshSuite_findOwner( mesh, ii ) )
 			break;
 	}
-	pcu_check_true( ii == Mesh_GetLocalSize( mesh, 0 ) );
+	pcu_check_true(ii==(int)Mesh_GetLocalSize( mesh, (MeshTopology_Dim)0 ) );
 }
 
 void MeshSuite( pcu_suite_t* suite ) {
diff -r e534f234897d -r fecc51eb5f13 SConscript
--- a/SConscript	Fri May 06 14:04:28 2011 -0700
+++ b/SConscript	Wed May 11 13:27:02 2011 -0700
@@ -140,10 +140,10 @@ if env['static_libs']:
         n = n[:-6]
         reg_c += 'extern void (%s_MetaAsDictionary)();\n'%n
         reg_c += 'extern void (%s_GetName)();\n'%n
-        reg_c += 'extern void (%s_Register)();\n'%n
+        reg_c += 'extern void (%s_Register)(PluginsManager* pluginsManager);\n'%n
         if n.find('Toolbox') != -1:
-            reg_c += 'extern void (%s_Initialise)();\n'%n
-            reg_c += 'extern void (%s_Finalise)();\n'%n
+            reg_c += 'extern void (%s_Initialise)(PluginsManager* pluginsManager, int * argc, char *** argv);\n'%n
+            reg_c += 'extern void (%s_Finalise)(PluginsManager* pluginsManager);\n'%n
     reg_c += '\n'
 
     reg_c += 'void stgdomain_register_static_modules() {\n'
@@ -223,7 +223,7 @@ if env['static_libs']:
 #
 
 env.PCUTest('tests/testStgDomain', suites,
-            PCU_LIBHEADERS="#include <StGermain/StGermain.h>\n#include <StgDomain/StgDomain.h>",
+            PCU_LIBHEADERS="#include <StGermain/StGermain.h>\n#include <StgDomain/StgDomain.h>\nextern void stgdomain_register_static_modules();",
             PCU_SETUP="StGermain_Init(&argc, &argv);\nStgDomain_Init(&argc, &argv);\n\n" \
             "#ifdef NOSHARED\n" \
             "   stgdomain_register_static_modules();\n" \
diff -r e534f234897d -r fecc51eb5f13 Shape/src/BelowCosinePlane.c
--- a/Shape/src/BelowCosinePlane.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/BelowCosinePlane.c	Wed May 11 13:27:02 2011 -0700
@@ -112,7 +112,7 @@ void _BelowCosinePlane_Print( void* belo
 	_Stg_Shape_Print( self, stream );
 }
 
-void* _BelowCosinePlane_Copy( void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _BelowCosinePlane_Copy( const void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	BelowCosinePlane*	self = (BelowCosinePlane*)belowPlane;
 	BelowCosinePlane*	newBelowCosinePlane;
 	
diff -r e534f234897d -r fecc51eb5f13 Shape/src/BelowCosinePlane.h
--- a/Shape/src/BelowCosinePlane.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/BelowCosinePlane.h	Wed May 11 13:27:02 2011 -0700
@@ -95,7 +95,7 @@
 		(BelowCosinePlane*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define BelowCosinePlane_DeepCopy( self ) \
 		(BelowCosinePlane*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _BelowCosinePlane_Copy( void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _BelowCosinePlane_Copy( const void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _BelowCosinePlane_DefaultNew( Name name ) ;
 	void _BelowCosinePlane_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/BelowPlane.c
--- a/Shape/src/BelowPlane.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/BelowPlane.c	Wed May 11 13:27:02 2011 -0700
@@ -106,7 +106,7 @@ void _BelowPlane_Print( void* belowPlane
 	_Stg_Shape_Print( self, stream );
 }
 
-void* _BelowPlane_Copy( void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _BelowPlane_Copy( const void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	BelowPlane*	self = (BelowPlane*)belowPlane;
 	BelowPlane*	newBelowPlane;
 	
diff -r e534f234897d -r fecc51eb5f13 Shape/src/BelowPlane.h
--- a/Shape/src/BelowPlane.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/BelowPlane.h	Wed May 11 13:27:02 2011 -0700
@@ -81,7 +81,7 @@
 		(BelowPlane*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define BelowPlane_DeepCopy( self ) \
 		(BelowPlane*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _BelowPlane_Copy( void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _BelowPlane_Copy( const void* belowPlane, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _BelowPlane_DefaultNew( Name name ) ;
 	void _BelowPlane_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Box.c
--- a/Shape/src/Box.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Box.c	Wed May 11 13:27:02 2011 -0700
@@ -102,7 +102,7 @@ void _Box_Print( void* shape, Stream* st
 	_Stg_Shape_Print( self, stream );
 }
 
-void* _Box_Copy( void* shape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Box_Copy( const void* shape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Box*	self = (Box*)shape;
 	Box*	newBox;
 	
@@ -142,12 +142,12 @@ void _Box_AssignFromXML( void* shape, St
 	Dictionary*          dictionary    = Dictionary_GetDictionary( cf->componentDict, self->name );
 	XYZ                  width;
 	double               start, end;
-	Dictionary_Entry_Key startKey      = StG_Strdup("startX");
-	Dictionary_Entry_Key endKey        = StG_Strdup("endX");
-	Dictionary_Entry_Key widthKey      = StG_Strdup("widthX");
-	char*                startCharPtr  = strchr( startKey, 'X' );
-	char*                endCharPtr    = strchr( endKey, 'X' );
-	char*                widthCharPtr  = strchr( widthKey, 'X' );
+	char* startKey      = StG_Strdup("startX");
+	char* endKey        = StG_Strdup("endX");
+	char* widthKey      = StG_Strdup("widthX");
+	char*                startCharPtr  = (char*)strchr( startKey, 'X' );
+	char*                endCharPtr    = (char*)strchr( endKey, 'X' );
+	char*                widthCharPtr  = (char*)strchr( widthKey, 'X' );
 	char                 axisLetters[] = {'X','Y','Z'};
 	Dimension_Index      dim_I;
 
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Box.h
--- a/Shape/src/Box.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Box.h	Wed May 11 13:27:02 2011 -0700
@@ -87,7 +87,7 @@
 		(Box*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Box_DeepCopy( self ) \
 		(Box*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Box_Copy( void* box, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Box_Copy( const void* box, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _Box_DefaultNew( Name name ) ;
 	void _Box_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/ConvexHull.c
--- a/Shape/src/ConvexHull.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/ConvexHull.c	Wed May 11 13:27:02 2011 -0700
@@ -154,7 +154,7 @@ void _ConvexHull_Print( void* convexHull
 	_Stg_Shape_Print( self, stream );
 }
 
-void* _ConvexHull_Copy( void* convexHull, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _ConvexHull_Copy( const void* convexHull, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	ConvexHull*	self = (ConvexHull*)convexHull;
 	ConvexHull*	newConvexHull;
 	
diff -r e534f234897d -r fecc51eb5f13 Shape/src/ConvexHull.h
--- a/Shape/src/ConvexHull.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/ConvexHull.h	Wed May 11 13:27:02 2011 -0700
@@ -90,7 +90,7 @@
 		(ConvexHull*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define ConvexHull_DeepCopy( self ) \
 		(ConvexHull*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _ConvexHull_Copy( void* convexHull, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _ConvexHull_Copy( const void* convexHull, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _ConvexHull_DefaultNew( Name name ) ;
 	void _ConvexHull_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Cylinder.c
--- a/Shape/src/Cylinder.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Cylinder.c	Wed May 11 13:27:02 2011 -0700
@@ -107,7 +107,7 @@ void _Cylinder_Print( void* cylinder, St
 	_Stg_Shape_Print( self, stream );
 }
 
-void* _Cylinder_Copy( void* cylinder, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Cylinder_Copy( const void* cylinder, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Cylinder*	self = (Cylinder*)cylinder;
 	Cylinder*	newCylinder;
 	
@@ -217,7 +217,7 @@ Bool _Cylinder_IsCoordInside( void* cyli
 	Coord           newCoord;
 	double          insideOutsideValue;
 	double          x, y, z;
-	Axis            axis_I;
+	unsigned        axis_I;
 
 	/* Check whether coord is within min and max values */
 	for ( axis_I = 0 ; axis_I < self->dim ; axis_I++ ) {
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Cylinder.h
--- a/Shape/src/Cylinder.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Cylinder.h	Wed May 11 13:27:02 2011 -0700
@@ -92,7 +92,7 @@
 		(Cylinder*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Cylinder_DeepCopy( self ) \
 		(Cylinder*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Cylinder_Copy( void* cylinder, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Cylinder_Copy( const void* cylinder, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _Cylinder_DefaultNew( Name name ) ;
 	void _Cylinder_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Everywhere.c
--- a/Shape/src/Everywhere.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Everywhere.c	Wed May 11 13:27:02 2011 -0700
@@ -95,7 +95,7 @@ void _Everywhere_Print( void* everywhere
 	_Stg_Shape_Print( self, stream );
 }
 
-void* _Everywhere_Copy( void* everywhere, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Everywhere_Copy( const void* everywhere, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Everywhere*	self = (Everywhere*)everywhere;
 	Everywhere*	newEverywhere;
 	
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Everywhere.h
--- a/Shape/src/Everywhere.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Everywhere.h	Wed May 11 13:27:02 2011 -0700
@@ -81,7 +81,7 @@
 		(Everywhere*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Everywhere_DeepCopy( self ) \
 		(Everywhere*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Everywhere_Copy( void* everywhere, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Everywhere_Copy( const void* everywhere, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _Everywhere_DefaultNew( Name name ) ;
 	void _Everywhere_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Intersection.c
--- a/Shape/src/Intersection.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Intersection.c	Wed May 11 13:27:02 2011 -0700
@@ -113,7 +113,7 @@ void _Intersection_Print( void* intersec
 
 
 
-void* _Intersection_Copy( void* intersection, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Intersection_Copy( const void* intersection, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Intersection*	self = (Intersection*)intersection;
 	Intersection*	newIntersection;
 	
@@ -264,7 +264,7 @@ Bool _Intersection_IsCoordInside( void* 
 
 		
 		if ( self->isComplement[ shape_I ] )
-			value = !value;
+                  value = (!value) ? True : False;
 			
 		if ( ! value )
 			return False;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Intersection.h
--- a/Shape/src/Intersection.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Intersection.h	Wed May 11 13:27:02 2011 -0700
@@ -91,7 +91,7 @@
 		(Intersection*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Intersection_DeepCopy( self ) \
 		(Intersection*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Intersection_Copy( void* intersection, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Intersection_Copy( const void* intersection, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _Intersection_DefaultNew( Name name ) ;
 	void _Intersection_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/PolygonShape.c
--- a/Shape/src/PolygonShape.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/PolygonShape.c	Wed May 11 13:27:02 2011 -0700
@@ -111,7 +111,7 @@ void _PolygonShape_Print( void* polygon,
 
 
 
-void* _PolygonShape_Copy( void* polygon, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _PolygonShape_Copy( const void* polygon, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	PolygonShape*	self = (PolygonShape*)polygon;
 	PolygonShape*	newPolygonShape;
 	
diff -r e534f234897d -r fecc51eb5f13 Shape/src/PolygonShape.h
--- a/Shape/src/PolygonShape.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/PolygonShape.h	Wed May 11 13:27:02 2011 -0700
@@ -95,7 +95,7 @@
 		(PolygonShape*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define PolygonShape_DeepCopy( self ) \
 		(PolygonShape*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _PolygonShape_Copy( void* polygon, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _PolygonShape_Copy( const void* polygon, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _PolygonShape_DefaultNew( Name name ) ;
 	void _PolygonShape_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/PythonShape.c
--- a/Shape/src/PythonShape.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/PythonShape.c	Wed May 11 13:27:02 2011 -0700
@@ -90,7 +90,7 @@ PythonShape* _PythonShape_New(  PYTHONSH
 	return self;
 }
 
-void _PythonShape_Init( void* pythonShape, char* conditionFunction ) {
+void _PythonShape_Init( void* pythonShape, Name conditionFunction ) {
 	PythonShape* self = (PythonShape*)pythonShape;
 	
 	Stg_asprintf( &self->testCondition, "%s = %s", PYTHONSHAPE_TEST_CONDITION_NAME, conditionFunction );
@@ -139,7 +139,7 @@ void _PythonShape_Print( void* pythonSha
 
 
 
-void* _PythonShape_Copy( void* pythonShape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _PythonShape_Copy( const void* pythonShape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	PythonShape*	self = (PythonShape*)pythonShape;
 	PythonShape*	newPythonShape;
 	
diff -r e534f234897d -r fecc51eb5f13 Shape/src/PythonShape.h
--- a/Shape/src/PythonShape.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/PythonShape.h	Wed May 11 13:27:02 2011 -0700
@@ -80,7 +80,7 @@
 
 	PythonShape* _PythonShape_New(  PYTHONSHAPE_DEFARGS  );
 	
-	void _PythonShape_Init( void* pythonShape, char* conditionFunction ) ;
+	void _PythonShape_Init( void* pythonShape, Name conditionFunction ) ;
 	void PythonShape_InitAll( 
 		void*                                 pythonShape, 
 		Dimension_Index                       dim, 
@@ -97,7 +97,7 @@
 		(PythonShape*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define PythonShape_DeepCopy( self ) \
 		(PythonShape*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _PythonShape_Copy( void* pythonShape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _PythonShape_Copy( const void* pythonShape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _PythonShape_DefaultNew( Name name ) ;
 	void _PythonShape_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/ShapeClass.c
--- a/Shape/src/ShapeClass.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/ShapeClass.c	Wed May 11 13:27:02 2011 -0700
@@ -127,7 +127,7 @@ void _Stg_Shape_Print( void* superellips
 
 }
 
-void* _Stg_Shape_Copy( void* shape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Stg_Shape_Copy( const void* shape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Stg_Shape*	self = (Stg_Shape*) shape;
 	Stg_Shape*	newStg_Shape;
 	
@@ -211,7 +211,8 @@ Bool Stg_Shape_IsCoordInside( void* shap
 	 *
 	 * bitwise xor is used because ^^ (logical) is not ansi-c
 	 */
-	return (self->invert != 0) ^ (self->_isCoordInside( self, coord ) != 0);
+	return ((self->invert != 0) ^ (self->_isCoordInside( self, coord ) != 0))
+          ? True : False;
 }	
 
 double Stg_Shape_CalculateVolume( void* shape ) {
diff -r e534f234897d -r fecc51eb5f13 Shape/src/ShapeClass.h
--- a/Shape/src/ShapeClass.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/ShapeClass.h	Wed May 11 13:27:02 2011 -0700
@@ -101,7 +101,7 @@ Stg_Shape* _Stg_Shape_New(  STG_SHAPE_DE
 		(Stg_Shape*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Stg_Shape_DeepCopy( self ) \
 		(Stg_Shape*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Stg_Shape_Copy( void* shape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Stg_Shape_Copy( const void* shape, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	/* 'Stg_Component' Virtual Function Implementations */
 	void _Stg_Shape_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Sphere.c
--- a/Shape/src/Sphere.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Sphere.c	Wed May 11 13:27:02 2011 -0700
@@ -111,7 +111,7 @@ void _Sphere_Print( void* sphere, Stream
 
 
 
-void* _Sphere_Copy( void* sphere, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Sphere_Copy( const void* sphere, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Sphere*	self = (Sphere*)sphere;
 	Sphere*	newSphere;
 	
@@ -204,7 +204,7 @@ Bool _Sphere_IsCoordInside( void* sphere
 		insideOutsideValue = x*x + y*y + z*z;
 	}
 
-	return (insideOutsideValue <= self->radiusSquared);
+	return (insideOutsideValue <= self->radiusSquared) ? True : False;
 	
 }
 
@@ -223,7 +223,7 @@ void _Sphere_DistanceFromCenterAxis( voi
 	
 
 double _Sphere_CalculateVolume( void* sphere ) {
-	Sphere* self = sphere;
+  Sphere* self = (Sphere*)sphere;
 	if ( self->dim == 2 ) {
 		return M_PI * self->radiusSquared;
 	}
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Sphere.h
--- a/Shape/src/Sphere.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Sphere.h	Wed May 11 13:27:02 2011 -0700
@@ -88,7 +88,7 @@
 		(Sphere*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Sphere_DeepCopy( self ) \
 		(Sphere*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Sphere_Copy( void* sphere, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Sphere_Copy( const void* sphere, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _Sphere_DefaultNew( Name name ) ;
 	void _Sphere_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Superellipsoid.c
--- a/Shape/src/Superellipsoid.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Superellipsoid.c	Wed May 11 13:27:02 2011 -0700
@@ -112,7 +112,7 @@ void _Superellipsoid_Print( void* supere
 
 
 
-void* _Superellipsoid_Copy( void* superellipsoid, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Superellipsoid_Copy( const void* superellipsoid, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Superellipsoid*	self = (Superellipsoid*)superellipsoid;
 	Superellipsoid*	newSuperellipsoid;
 	
@@ -220,7 +220,7 @@ Bool _Superellipsoid_IsCoordInside( void
 			+ pow( z*z, 1.0/epsilon1 );
 
 	/* Return True if coord is inside and False otherwise */
-	return ( insideOutsideValue <= 1.0 );
+	return ( insideOutsideValue <= 1.0 ) ? True : False;
 }
 
 double _Superellipsoid_CalculateVolume( void* superellipsoid ) {
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Superellipsoid.h
--- a/Shape/src/Superellipsoid.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Superellipsoid.h	Wed May 11 13:27:02 2011 -0700
@@ -91,7 +91,7 @@
 		(Superellipsoid*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Superellipsoid_DeepCopy( self ) \
 		(Superellipsoid*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Superellipsoid_Copy( void* superellipsoid, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Superellipsoid_Copy( const void* superellipsoid, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _Superellipsoid_DefaultNew( Name name ) ;
 	void _Superellipsoid_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Union.c
--- a/Shape/src/Union.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Union.c	Wed May 11 13:27:02 2011 -0700
@@ -112,7 +112,7 @@ void _Union_Print( void* combination, St
 	_Stg_Shape_Print( self, stream );
 }
 
-void* _Union_Copy( void* combination, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Union_Copy( const void* combination, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Union*	self = (Union*)combination;
 	Union*	newUnion;
 	
@@ -255,7 +255,7 @@ Bool _Union_IsCoordInside( void* combina
 
 		
 		if ( self->isComplement[ shape_I ] )
-			value = !value;
+                  value = (!value) ? True : False;
 			
 		if ( value )
 			return True;
diff -r e534f234897d -r fecc51eb5f13 Shape/src/Union.h
--- a/Shape/src/Union.h	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/src/Union.h	Wed May 11 13:27:02 2011 -0700
@@ -91,7 +91,7 @@
 		(Union*) Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define Union_DeepCopy( self ) \
 		(Union*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _Union_Copy( void* combination, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Union_Copy( const void* combination, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _Union_DefaultNew( Name name ) ;
 	void _Union_AssignFromXML( void* shape, Stg_ComponentFactory* cf, void* data ) ;
diff -r e534f234897d -r fecc51eb5f13 Shape/tests/ShapeSuite.c
--- a/Shape/tests/ShapeSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Shape/tests/ShapeSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -17,7 +17,7 @@ void ShapeSuite_Teardown( ShapeSuiteData
    stgMainDestroy( data->cf );
 }
 
-void ShapeSuite_GeneratePoints( ShapeSuiteData* data, Dimension_Index dim, char* inputFileName ) {
+void ShapeSuite_GeneratePoints( ShapeSuiteData* data, Dimension_Index dim, Name inputFileName ) {
 /** Test Definition: */
 	Stg_ComponentFactory*	cf;
 	DomainContext*				context = NULL;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/CellLayout.c
--- a/Swarm/src/CellLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/CellLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -110,11 +110,11 @@ void _CellLayout_Destroy( void* cellLayo
 void _CellLayout_Destroy( void* cellLayout, void* data ) {
 }
 
-void* _CellLayout_Copy( void* cellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _CellLayout_Copy( const void* cellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	CellLayout*	self = (CellLayout*)cellLayout;
 	CellLayout*	newCellLayout;
 	
-	newCellLayout = _Stg_Component_Copy( self, dest, deep, nameExt, ptrMap );
+	newCellLayout = (CellLayout*)_Stg_Component_Copy( self, dest, deep, nameExt, ptrMap );
 	
 	/* Virtual methods */
 	newCellLayout->_cellLocalCount = self->_cellLocalCount;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/CellLayout.h
--- a/Swarm/src/CellLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/CellLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -129,7 +129,7 @@
 	#define CellLayout_DeepCopy( self ) \
 		(CellLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _CellLayout_Copy( void* cellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _CellLayout_Copy( const void* cellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	void _CellLayout_AssignFromXML( void* cellLayout, Stg_ComponentFactory *cf, void* data );	
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ElementCellLayout.c
--- a/Swarm/src/ElementCellLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ElementCellLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -48,7 +48,7 @@ const Type ElementCellLayout_Type = "Ele
 const Type ElementCellLayout_Type = "ElementCellLayout";
 
 ElementCellLayout* ElementCellLayout_New( Name name, AbstractContext* context, void* mesh ) { 
-	ElementCellLayout* self = _ElementCellLayout_DefaultNew( name );
+  ElementCellLayout* self = (ElementCellLayout*)_ElementCellLayout_DefaultNew( name );
 
 	self->isConstructed = True;
 	_CellLayout_Init( (CellLayout*)self, context );
@@ -133,7 +133,7 @@ void _ElementCellLayout_Print( void* ele
 }
 
 
-void* _ElementCellLayout_Copy( void* elementCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _ElementCellLayout_Copy( const void* elementCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	ElementCellLayout*	self = (ElementCellLayout*)elementCellLayout;
 	ElementCellLayout*	newElementCellLayout;
 	PtrMap*			map = ptrMap;
@@ -144,7 +144,7 @@ void* _ElementCellLayout_Copy( void* ele
 		ownMap = True;
 	}
 	
-	newElementCellLayout = _CellLayout_Copy( self, dest, deep, nameExt, ptrMap );
+	newElementCellLayout = (ElementCellLayout*)_CellLayout_Copy( self, dest, deep, nameExt, ptrMap );
 	
 	if( deep ) {
 		newElementCellLayout->mesh = (Mesh*)Stg_Class_Copy( self->mesh, NULL, deep, nameExt, map );
@@ -262,7 +262,7 @@ Bool _ElementCellLayout_IsInCell( void* 
 	GlobalParticle*	        particle = (GlobalParticle*)_particle;
 	unsigned		elDim, elInd;
 
-	return Mesh_ElementHasPoint( self->mesh, cellIndex, particle->coord, &elDim, &elInd );
+	return Mesh_ElementHasPoint( self->mesh, cellIndex, particle->coord, (MeshTopology_Dim*)(&elDim), &elInd );
 }
 
 Cell_Index _ElementCellLayout_CellOf( void* elementCellLayout, void* _particle ) {
@@ -305,7 +305,7 @@ void ElementCellLayout_BuildShadowInfo( 
 	unsigned	n_i;
 
 	nDims = Mesh_GetDimSize( self->mesh );
-	comm = Mesh_GetCommTopology( self->mesh, nDims );
+	comm = Mesh_GetCommTopology( self->mesh, (MeshTopology_Dim)nDims );
 	Comm_GetNeighbours( comm, &nIncProcs, &incProcs );
 
 	/* Extract neighbouring proc information. */
@@ -321,20 +321,20 @@ void ElementCellLayout_BuildShadowInfo( 
 		self->cellShadowInfo.procShadowCnt = AllocArray( unsigned, nIncProcs );
 		memset( self->cellShadowInfo.procShadowCnt, 0, nIncProcs * sizeof(unsigned) );
 	}
-	for( n_i = 0; n_i < Mesh_GetSharedSize( self->mesh, nDims ); n_i++ ) {
+	for( n_i = 0; n_i < Mesh_GetSharedSize( self->mesh, (MeshTopology_Dim)nDims ); n_i++ ) {
 		int	nSharers;
 		const int*	sharers;
-		unsigned	s_i;
+		int	s_i;
 
-		Mesh_GetSharers( self->mesh, nDims, n_i, 
+		Mesh_GetSharers( self->mesh, (MeshTopology_Dim)nDims, n_i, 
 				 &nSharers, &sharers );
 		for( s_i = 0; s_i < nSharers; s_i++ )
 			self->cellShadowInfo.procShadowedCnt[sharers[s_i]]++;
 	}
-	for( n_i = 0; n_i < Mesh_GetRemoteSize( self->mesh, nDims ); n_i++ ) {
+	for( n_i = 0; n_i < Mesh_GetRemoteSize( self->mesh, (MeshTopology_Dim)nDims ); n_i++ ) {
 		unsigned	owner;
 
-		owner = Mesh_GetOwner( self->mesh, nDims, n_i );
+		owner = Mesh_GetOwner( self->mesh, (MeshTopology_Dim)nDims, n_i );
 		self->cellShadowInfo.procShadowCnt[owner]++;
 	}
 
@@ -347,29 +347,29 @@ void ElementCellLayout_BuildShadowInfo( 
 		memset( self->cellShadowInfo.procShadowedCnt, 0, nIncProcs * sizeof(unsigned) );
 		memset( self->cellShadowInfo.procShadowCnt, 0, nIncProcs * sizeof(unsigned) );
 	}
-	for( n_i = 0; n_i < Mesh_GetSharedSize( self->mesh, nDims ); n_i++ ) {
+	for( n_i = 0; n_i < Mesh_GetSharedSize( self->mesh, (MeshTopology_Dim)nDims ); n_i++ ) {
 		unsigned	local;
 		unsigned	curInd;
 		int	        nSharers;
 		const int*	        sharers;
-		unsigned	s_i;
+		int	s_i;
 
-		local = Mesh_SharedToLocal( self->mesh, nDims, n_i );
+		local = Mesh_SharedToLocal( self->mesh, (MeshTopology_Dim)nDims, n_i );
 
-		Mesh_GetSharers( self->mesh, nDims, n_i, 
+		Mesh_GetSharers( self->mesh, (MeshTopology_Dim)nDims, n_i, 
 				 &nSharers, &sharers );
 		for( s_i = 0; s_i < nSharers; s_i++ ) {
 			curInd = self->cellShadowInfo.procShadowedCnt[sharers[s_i]]++;
 			self->cellShadowInfo.procShadowedTbl[sharers[s_i]][curInd] = local;
 		}
 	}
-	for( n_i = 0; n_i < Mesh_GetRemoteSize( self->mesh, nDims ); n_i++ ) {
+	for( n_i = 0; n_i < Mesh_GetRemoteSize( self->mesh, (MeshTopology_Dim)nDims ); n_i++ ) {
 		unsigned	domain;
 		unsigned	curInd;
 		unsigned	owner;
 
-		domain = Mesh_GetLocalSize( self->mesh, nDims ) + n_i;
-		owner = Mesh_GetOwner( self->mesh, nDims, n_i );
+		domain = Mesh_GetLocalSize( self->mesh, (MeshTopology_Dim)nDims ) + n_i;
+		owner = Mesh_GetOwner( self->mesh, (MeshTopology_Dim)nDims, n_i );
 		curInd = self->cellShadowInfo.procShadowCnt[owner]++;
 		self->cellShadowInfo.procShadowTbl[owner][curInd] = domain;
 	}
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ElementCellLayout.h
--- a/Swarm/src/ElementCellLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ElementCellLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -98,7 +98,7 @@
 	#define ElementCellLayout_DeepCopy( self ) \
 		(ElementCellLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _ElementCellLayout_Copy( void* elementCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _ElementCellLayout_Copy( const void* elementCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	void _ElementCellLayout_AssignFromXML( void *elementCellLayout, Stg_ComponentFactory *cf, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/FileParticleLayout.c
--- a/Swarm/src/FileParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/FileParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -90,7 +90,8 @@ FileParticleLayout* _FileParticleLayout_
    self = (FileParticleLayout*)_GlobalParticleLayout_New(  GLOBALPARTICLELAYOUT_PASSARGS  );
 
    /* set default attributes */
-   self->filename = filename;
+   /* Unsafe */
+   self->filename = (char*)filename;
    self->checkpointfiles = checkpointfiles;
 
    return self;
@@ -131,7 +132,7 @@ void _FileParticleLayout_Print( void* pa
 }
 
 
-void* _FileParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _FileParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
    FileParticleLayout*	self = (FileParticleLayout*)particleLayout;
    FileParticleLayout*	newFileParticleLayout;
    
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/FileParticleLayout.h
--- a/Swarm/src/FileParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/FileParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -50,7 +50,7 @@
 	#define __FileParticleLayout \
 		__GlobalParticleLayout \
 		\
-		Name                                             filename;    \
+		char*                                             filename;    \
 		Stream*                                          errorStream; \
 		hid_t** fileData; \
 		hid_t** fileSpace; \
@@ -109,7 +109,7 @@
 		(FileParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define FileParticleLayout_DeepCopy( self ) \
 		(FileParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _FileParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _FileParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _FileParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/GaussBorderParticleLayout.c
--- a/Swarm/src/GaussBorderParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/GaussBorderParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -63,7 +63,7 @@ GaussBorderParticleLayout* GaussBorderPa
    Dimension_Index dim, 
    Particle_InCellIndex* particlesPerDim ) {
 
-	GaussBorderParticleLayout* self = _GaussBorderParticleLayout_DefaultNew( name );
+  GaussBorderParticleLayout* self = (GaussBorderParticleLayout*)_GaussBorderParticleLayout_DefaultNew( name );
 
    _ParticleLayout_Init( self, context, coordSystem, weightsInitialisedAtStartup );
    _PerCellParticleLayout_Init( self );
@@ -124,7 +124,7 @@ void _GaussBorderParticleLayout_Print( v
 }
 
 
-void* _GaussBorderParticleLayout_Copy( void* gaussBorderParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _GaussBorderParticleLayout_Copy( const void* gaussBorderParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	GaussBorderParticleLayout*	self = (GaussBorderParticleLayout*)gaussBorderParticleLayout;
 	GaussBorderParticleLayout*	newGaussBorderParticleLayout;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/GaussBorderParticleLayout.h
--- a/Swarm/src/GaussBorderParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/GaussBorderParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -90,7 +90,7 @@
 	#define GaussBorderParticleLayout_DeepCopy( self ) \
 		(GaussBorderParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _GaussBorderParticleLayout_Copy( void* gaussBorderParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _GaussBorderParticleLayout_Copy( const void* gaussBorderParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _GaussBorderParticleLayout_DefaultNew( Name name );
 	void  _GaussBorderParticleLayout_AssignFromXML( void* gaussBorderParticleLayout, Stg_ComponentFactory* cf, void* data );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/GaussParticleLayout.c
--- a/Swarm/src/GaussParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/GaussParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -62,7 +62,7 @@ GaussParticleLayout* GaussParticleLayout
    Dimension_Index dim, 
    Particle_InCellIndex* particlesPerDim ) {
 
-   GaussParticleLayout* self = _GaussParticleLayout_DefaultNew( name );
+  GaussParticleLayout* self = (GaussParticleLayout*)_GaussParticleLayout_DefaultNew( name );
    _ParticleLayout_Init( self, context, coordSystem, weightsInitialisedAtStartup );
    _PerCellParticleLayout_Init( self );
    _GaussParticleLayout_Init( self, dim, particlesPerDim );
@@ -124,7 +124,7 @@ void _GaussParticleLayout_Print( void* g
 }
 
 
-void* _GaussParticleLayout_Copy( void* gaussParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _GaussParticleLayout_Copy( const void* gaussParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	GaussParticleLayout*	self = (GaussParticleLayout*)gaussParticleLayout;
 	GaussParticleLayout*	newGaussParticleLayout;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/GaussParticleLayout.h
--- a/Swarm/src/GaussParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/GaussParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -96,7 +96,7 @@ GaussParticleLayout* GaussParticleLayout
 	#define GaussParticleLayout_DeepCopy( self ) \
 		(GaussParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _GaussParticleLayout_Copy( void* gaussParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _GaussParticleLayout_Copy( const void* gaussParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _GaussParticleLayout_DefaultNew( Name name );
 	void  _GaussParticleLayout_AssignFromXML( void* gaussParticleLayout, Stg_ComponentFactory* cf, void* data );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/GlobalParticleLayout.c
--- a/Swarm/src/GlobalParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/GlobalParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -135,7 +135,7 @@ void _GlobalParticleLayout_Print( void* 
 }
 
 
-void* _GlobalParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _GlobalParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	GlobalParticleLayout*		self = (GlobalParticleLayout*)particleLayout;
 	GlobalParticleLayout*		newGlobalParticleLayout;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/GlobalParticleLayout.h
--- a/Swarm/src/GlobalParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/GlobalParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -106,7 +106,7 @@ GlobalParticleLayout* _GlobalParticleLay
 	#define GlobalParticleLayout_DeepCopy( self ) \
 		(GlobalParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _GlobalParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _GlobalParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void _GlobalParticleLayout_SetInitialCounts( void* particleLayout, void* _swarm );
 
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/LineParticleLayout.c
--- a/Swarm/src/LineParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/LineParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -174,11 +174,11 @@ void _LineParticleLayout_Print( void* pa
 }
 
 
-void* _LineParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _LineParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	LineParticleLayout*		self                    = (LineParticleLayout*)particleLayout;
 	LineParticleLayout*		newLineParticleLayout;
 	
-	newLineParticleLayout = _GlobalParticleLayout_Copy( self, dest, deep, nameExt, ptrMap );
+	newLineParticleLayout = (LineParticleLayout*)_GlobalParticleLayout_Copy( self, dest, deep, nameExt, ptrMap );
 
 	/*memcpy( newLineParticleLayout->startCoord, self->startCoord, sizeof(Coord) );*/
 	/*memcpy( newLineParticleLayout->endCoord, self->endCoord, sizeof(Coord) );*/
@@ -256,7 +256,7 @@ void _LineParticleLayout_InitialiseParti
 void _LineParticleLayout_InitialiseParticle( void* particleLayout, void* _swarm, Particle_Index newParticle_I, void* _particle )
 {
 	LineParticleLayout*        self             = (LineParticleLayout*)particleLayout;
-	Axis                       axis_I;
+	unsigned                   axis_I;
 	Index                      segment_I;
 	double                     lengthFromVertex = self->dx * (double) newParticle_I;
 	double                     factor;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/LineParticleLayout.h
--- a/Swarm/src/LineParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/LineParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -102,7 +102,7 @@
 		(LineParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define LineParticleLayout_DeepCopy( self ) \
 		(LineParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _LineParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _LineParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _LineParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ManualParticleLayout.c
--- a/Swarm/src/ManualParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ManualParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -118,7 +118,7 @@ void _ManualParticleLayout_Print( void* 
 	Stream_UnIndent( stream );
 }
 
-void* _ManualParticleLayout_Copy( void* manualParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _ManualParticleLayout_Copy( const void* manualParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	ManualParticleLayout*		self                    = (ManualParticleLayout*)manualParticleLayout;
 	ManualParticleLayout*		newManualParticleLayout;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ManualParticleLayout.h
--- a/Swarm/src/ManualParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ManualParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -89,7 +89,7 @@
 		(ManualParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define ManualParticleLayout_DeepCopy( self ) \
 		(ManualParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _ManualParticleLayout_Copy( void* manualParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _ManualParticleLayout_Copy( const void* manualParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _ManualParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/MeshParticleLayout.c
--- a/Swarm/src/MeshParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/MeshParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -125,7 +125,7 @@ void _MeshParticleLayout_Print( void* me
 }
 
 
-void* _MeshParticleLayout_Copy( void* meshParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _MeshParticleLayout_Copy( const void* meshParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	MeshParticleLayout*		self = (MeshParticleLayout*)meshParticleLayout;
 	MeshParticleLayout*		newMeshParticleLayout;
 	
@@ -232,10 +232,10 @@ void _MeshParticleLayout_InitialiseParti
 	assert( nDims == 2 || nDims == 3 );
 
 	inc = IArray_New();
-	Mesh_GetIncidence( self->mesh, nDims, cell_I, MT_VERTEX, 
+	Mesh_GetIncidence( self->mesh, (MeshTopology_Dim)nDims, cell_I, MT_VERTEX, 
 			   inc );
 	nNodes = IArray_GetSize( inc );
-	incNodes = IArray_GetPtr( inc );
+	incNodes = (unsigned*)IArray_GetPtr( inc );
 
 	for ( cParticle_I = 0; cParticle_I < particlesThisCell; cParticle_I++ ) {	
 		particle = (GlobalParticle*)Swarm_ParticleInCellAt( swarm, cell_I, cParticle_I );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/MeshParticleLayout.h
--- a/Swarm/src/MeshParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/MeshParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -99,7 +99,7 @@
 		(MeshParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define MeshParticleLayout_DeepCopy( self ) \
 		(MeshParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _MeshParticleLayout_Copy( void* meshParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _MeshParticleLayout_Copy( const void* meshParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _MeshParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/OperatorSwarmVariable.c
--- a/Swarm/src/OperatorSwarmVariable.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/OperatorSwarmVariable.c	Wed May 11 13:27:02 2011 -0700
@@ -94,7 +94,7 @@ OperatorSwarmVariable* OperatorSwarmVari
 	Index										swarmVariableCount,
 	SwarmVariable**						swarmVariableList )
 {
-	OperatorSwarmVariable* self = _OperatorSwarmVariable_DefaultNew( name );
+  OperatorSwarmVariable* self = (OperatorSwarmVariable*)_OperatorSwarmVariable_DefaultNew( name );
 
 	self->isConstructed = True;
 	_SwarmVariable_Init( (SwarmVariable*)self, context, swarmVariableList[0]->swarm, NULL, 0 );
@@ -177,11 +177,11 @@ void _OperatorSwarmVariable_Init( void* 
 	}
 }
 
-void* _OperatorSwarmVariable_Copy( void* swarmVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _OperatorSwarmVariable_Copy( const void* swarmVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	OperatorSwarmVariable*	self = (OperatorSwarmVariable*)swarmVariable;
 	OperatorSwarmVariable*	newOperatorSwarmVariable;
 	
-	newOperatorSwarmVariable = _SwarmVariable_Copy( self, dest, deep, nameExt, ptrMap );
+	newOperatorSwarmVariable = (OperatorSwarmVariable*)_SwarmVariable_Copy( self, dest, deep, nameExt, ptrMap );
 	
 	newOperatorSwarmVariable->_operator              = self->_operator;
 	newOperatorSwarmVariable->swarmVariableCount     = self->swarmVariableCount;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/OperatorSwarmVariable.h
--- a/Swarm/src/OperatorSwarmVariable.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/OperatorSwarmVariable.h	Wed May 11 13:27:02 2011 -0700
@@ -123,7 +123,7 @@
 
 	void _OperatorSwarmVariable_Print( void* _swarmVariable, Stream* stream );
 
-	void* _OperatorSwarmVariable_Copy( void* swarmVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _OperatorSwarmVariable_Copy( const void* swarmVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	void _OperatorSwarmVariable_AssignFromXML( void* swarmVariable, Stg_ComponentFactory* cf, void* data );
 
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ParticleCommHandler.c
--- a/Swarm/src/ParticleCommHandler.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ParticleCommHandler.c	Wed May 11 13:27:02 2011 -0700
@@ -147,7 +147,7 @@ void _ParticleCommHandler_Print( void* p
 }
 
 
-void* _ParticleCommHandler_Copy( void* particleCommHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _ParticleCommHandler_Copy( const void* particleCommHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 
 	// TODO: put back in.
 	assert(0);
@@ -206,7 +206,7 @@ void _ParticleCommHandler_AllocateOutgoi
 				"ParticleCommHandler->shadowParticlesLeavingMeHandles[]" );
 			particlesArrayBytes = self->swarm->particleExtensionMgr->finalSize * 
 				self->shadowParticlesLeavingMeTotalCounts[nbr_I];
-			self->shadowParticlesLeavingMe[nbr_I] = Memory_Alloc_Bytes( particlesArrayBytes,
+			self->shadowParticlesLeavingMe[nbr_I] = (Particle*)Memory_Alloc_Bytes( particlesArrayBytes,
 				"Particle", "ParticleCommHandler->shadowParticlesLeavingMe[]" );
 		}
 	}
@@ -289,7 +289,7 @@ void _ParticleCommHandler_AllocateIncomi
 			/* allocate particles recv array to right size */
 			incomingViaShadowArrayBytes = self->swarm->particleExtensionMgr->finalSize * 
 				self->particlesArrivingFromNbrShadowCellsTotalCounts[nbr_I];
-			self->particlesArrivingFromNbrShadowCells[nbr_I] = Memory_Alloc_Bytes( incomingViaShadowArrayBytes,
+			self->particlesArrivingFromNbrShadowCells[nbr_I] = (Particle*)Memory_Alloc_Bytes( incomingViaShadowArrayBytes,
 				"Particle", "particleCommHandler->particlesArrivingFromNbrShadowCells[]" );
 		}
 	}
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ParticleCommHandler.h
--- a/Swarm/src/ParticleCommHandler.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ParticleCommHandler.h	Wed May 11 13:27:02 2011 -0700
@@ -187,7 +187,7 @@
 	#define ParticleCommHandler_DeepCopy( self ) \
 		(ParticleCommHandler*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _ParticleCommHandler_Copy( void* particleCommHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _ParticleCommHandler_Copy( const void* particleCommHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/** Stg_Class_Delete() implementation */
 	void _ParticleCommHandler_Delete(void* pCommsHandler );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ParticleLayout.c
--- a/Swarm/src/ParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -113,11 +113,11 @@ void _ParticleLayout_Print( void* partic
 }
 
 
-void* _ParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _ParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
     ParticleLayout*		self = (ParticleLayout*)particleLayout;
     ParticleLayout*		newParticleLayout;
 	
-    newParticleLayout = _Stg_Class_Copy( self, dest, deep, nameExt, ptrMap );
+    newParticleLayout = (ParticleLayout*)_Stg_Class_Copy( self, dest, deep, nameExt, ptrMap );
 	
     /* Virtual methods */
     newParticleLayout->_setInitialCounts = self->_setInitialCounts;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ParticleLayout.h
--- a/Swarm/src/ParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -105,7 +105,7 @@ void _ParticleLayout_Destroy( void* part
 #define ParticleLayout_DeepCopy( self )                                 \
     (ParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-void* _ParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+void* _ParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 void _ParticleLayout_AssignFromXML( void* particleLayout, Stg_ComponentFactory *cf, void* data );
 	
 /** Setup the particle tables in a Swarm Class, both local and shadow values.
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ParticleMovementHandler.c
--- a/Swarm/src/ParticleMovementHandler.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ParticleMovementHandler.c	Wed May 11 13:27:02 2011 -0700
@@ -72,7 +72,7 @@ void *ParticleMovementHandler_DefaultNew
 	Bool                                       useGlobalFallbackCommStrategy = False;
 
 	/* Variables that are set to ZERO are variables that will be set either by the current _New function or another parent _New function further up the hierachy */
-	AllocationType                                                                                        nameAllocationType = ZERO;
+	AllocationType                                                                                        nameAllocationType = (AllocationType)ZERO;
 	ParticleCommHandler_AllocateOutgoingCountArrays*                                            _allocateOutgoingCountArrays = ZERO;
 	ParticleCommHandler_AllocateOutgoingParticleArrays*                                      _allocateOutgoingParticleArrays = ZERO;
 	ParticleCommHandler_FreeOutgoingArrays*                                                              _freeOutgoingArrays = ZERO;
@@ -112,7 +112,7 @@ ParticleMovementHandler* ParticleMovemen
 	Bool                                                  initFlag = True;
 
 	/* Variables that are set to ZERO are variables that will be set either by the current _New function or another parent _New function further up the hierachy */
-	AllocationType                                                                                        nameAllocationType = ZERO;
+	AllocationType                                                                                        nameAllocationType = (AllocationType)ZERO;
 	ParticleCommHandler_AllocateOutgoingCountArrays*                                            _allocateOutgoingCountArrays = ZERO;
 	ParticleCommHandler_AllocateOutgoingParticleArrays*                                      _allocateOutgoingParticleArrays = ZERO;
 	ParticleCommHandler_FreeOutgoingArrays*                                                              _freeOutgoingArrays = ZERO;
@@ -205,7 +205,7 @@ void _ParticleMovementHandler_Print( voi
 }
 
 
-void* _ParticleMovementHandler_CopyFunc( void* particleMovementHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _ParticleMovementHandler_CopyFunc( const void* particleMovementHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	
 	return _ParticleCommHandler_Copy( particleMovementHandler, dest, deep,
 		   nameExt, ptrMap );
@@ -434,7 +434,7 @@ void ParticleMovementHandler_ShareAndUpd
 
 		particlesLeavingDomainSizeBytes = self->swarm->particleExtensionMgr->finalSize
 			* maxGlobalParticlesOutsideDomainCount;
-		particlesLeavingMyDomain = Memory_Alloc_Bytes( particlesLeavingDomainSizeBytes, "Particle",
+		particlesLeavingMyDomain = (Particle*)Memory_Alloc_Bytes( particlesLeavingDomainSizeBytes, "Particle",
 			"particlesLeavingMyDomain" );
 
 		// TODO: investigate doing this with an MPI_Indexed datatype instead...
@@ -461,7 +461,7 @@ void ParticleMovementHandler_ShareAndUpd
 		Stream_UnIndentBranch( Swarm_Debug );
 
 		/* allocate the big global receive buffer */
-		globalParticlesLeavingDomains = Memory_Alloc_Bytes( particlesLeavingDomainSizeBytes * self->swarm->nProc,
+		globalParticlesLeavingDomains = (Particle*)Memory_Alloc_Bytes( particlesLeavingDomainSizeBytes * self->swarm->nProc,
 			"Particle", "globalParticlesLeavingDomains" );
 
 		Journal_DPrintfL( self->debug, 2, "Getting the global array of particles leaving domains\n" );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ParticleMovementHandler.h
--- a/Swarm/src/ParticleMovementHandler.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ParticleMovementHandler.h	Wed May 11 13:27:02 2011 -0700
@@ -109,7 +109,7 @@
 	#define ParticleMovementHandler_DeepCopy( self ) \
 		(ParticleMovementHandler*)ParticleMovementHandler_CopyFunc( self, NULL, True, NULL, NULL )
 	
-	void* _ParticleMovementHandler_CopyFunc( void* ParticleMovementHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _ParticleMovementHandler_CopyFunc( const void* ParticleMovementHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/** Stg_Class_Delete() implementation */
 	void _ParticleMovementHandler_Delete(void* pCommsHandler );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ParticleShadowSync.c
--- a/Swarm/src/ParticleShadowSync.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ParticleShadowSync.c	Wed May 11 13:27:02 2011 -0700
@@ -75,7 +75,7 @@ void* ParticleShadowSync_DefaultNew( Nam
 	Bool                                                  initFlag = False;
 
 	/* Variables that are set to ZERO are variables that will be set either by the current _New function or another parent _New function further up the hierachy */
-	AllocationType                                                                                        nameAllocationType = ZERO;
+	AllocationType                                                                                        nameAllocationType = (AllocationType)ZERO;
 	ParticleCommHandler_AllocateOutgoingCountArrays*                                            _allocateOutgoingCountArrays = ZERO;
 	ParticleCommHandler_AllocateOutgoingParticleArrays*                                      _allocateOutgoingParticleArrays = ZERO;
 	ParticleCommHandler_FreeOutgoingArrays*                                                              _freeOutgoingArrays = ZERO;
@@ -115,7 +115,7 @@ ParticleShadowSync* ParticleShadowSync_N
 	Bool                                                  initFlag = True;
 
 	/* Variables that are set to ZERO are variables that will be set either by the current _New function or another parent _New function further up the hierachy */
-	AllocationType                                                                                        nameAllocationType = ZERO;
+	AllocationType                                                                                        nameAllocationType = (AllocationType)ZERO;
 	ParticleCommHandler_AllocateOutgoingCountArrays*                                            _allocateOutgoingCountArrays = ZERO;
 	ParticleCommHandler_AllocateOutgoingParticleArrays*                                      _allocateOutgoingParticleArrays = ZERO;
 	ParticleCommHandler_FreeOutgoingArrays*                                                              _freeOutgoingArrays = ZERO;
@@ -212,7 +212,7 @@ void _ParticleShadowSync_Print( void* pC
 }
 
 
-void* _ParticleShadowSync_CopyFunc( void* particleMovementHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _ParticleShadowSync_CopyFunc( const void* particleMovementHandler, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	
 	return _ParticleCommHandler_Copy( particleMovementHandler, dest, deep,
 		   nameExt, ptrMap );
@@ -288,7 +288,7 @@ void _ParticleShadowSync_FinishReceiveOf
 	ShadowInfo*		        cellShadowInfo = CellLayout_GetShadowInfo( self->swarm->cellLayout );
 	ProcNbrInfo*		        procNbrInfo = cellShadowInfo->procNbrInfo;
 	Neighbour_Index		        nbr_I;
-	int i = 0;
+	unsigned i = 0;
 
 	self->swarm->shadowParticleCount = 0;
 	/* TODO: may be worth converting the below into an MPI_Test loop */
@@ -321,7 +321,7 @@ void _ParticleShadowSync_BeginReceiveOfI
 	long                           incomingViaShadowArrayBytes = 0;
 	Neighbour_Index		        nbr_I;
 	Processor_Index			proc_I;
-	int i = 0;
+	unsigned i = 0;
 	char* recvLocation  = NULL;
 
 	self->particlesArrivingFromNbrShadowCellsHandles = Memory_Alloc_Array_Unnamed( MPI_Request*, procNbrInfo->procNbrCnt );
@@ -329,7 +329,7 @@ void _ParticleShadowSync_BeginReceiveOfI
 		self->particlesArrivingFromNbrShadowCellsHandles[i] = Memory_Alloc_Array_Unnamed( MPI_Request, 1 );
 	}
 
-	self->swarm->shadowParticles = Memory_Realloc( self->swarm->shadowParticles,
+	self->swarm->shadowParticles = (Particle*)Memory_Realloc( self->swarm->shadowParticles,
 			self->swarm->particleExtensionMgr->finalSize*(self->swarm->shadowParticleCount) );
 	
 	recvLocation = (char*)self->swarm->shadowParticles;
@@ -359,7 +359,7 @@ void _ParticleShadowSync_FinishReceiveOf
 	ShadowInfo*		        cellShadowInfo = CellLayout_GetShadowInfo( self->swarm->cellLayout );
 	ProcNbrInfo*		        procNbrInfo = cellShadowInfo->procNbrInfo;
 	Neighbour_Index		        nbr_I;
-	int i = 0, j = 0;
+	unsigned i = 0, j = 0;
 	int shadowParticleCounter;
 	int shadowCell = 0;
 
@@ -391,7 +391,7 @@ void _ParticleShadowSync_SendShadowParti
 	ShadowInfo*		        cellShadowInfo = CellLayout_GetShadowInfo( self->swarm->cellLayout );
 	ProcNbrInfo*		        procNbrInfo = cellShadowInfo->procNbrInfo;
 	Processor_Index			proc_I;
-	int i = 0, j = 0, k = 0, cell = 0;
+	unsigned i = 0, j = 0, k = 0, cell = 0;
 	unsigned int	arrayIndex = 0;
 	long			arraySize = 0;
 	unsigned int	pIndex = 0;
@@ -407,7 +407,7 @@ void _ParticleShadowSync_SendShadowParti
 			self->shadowParticlesLeavingMeHandles[i] = Memory_Alloc_Array_Unnamed( MPI_Request, 1 );
 
 			arraySize =  self->swarm->particleExtensionMgr->finalSize * self->shadowParticlesLeavingMeTotalCounts[i];
-			self->shadowParticlesLeavingMe[i] = Memory_Alloc_Bytes( arraySize, "Particle", "pCommHandler->outgoingPArray" );
+			self->shadowParticlesLeavingMe[i] = (Particle*)Memory_Alloc_Bytes( arraySize, "Particle", "pCommHandler->outgoingPArray" );
 			memset( self->shadowParticlesLeavingMe[i], 0, arraySize );
 
 			arrayIndex = 0;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/ParticleShadowSync.h
--- a/Swarm/src/ParticleShadowSync.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/ParticleShadowSync.h	Wed May 11 13:27:02 2011 -0700
@@ -99,7 +99,7 @@
 	#define ParticleShadowSync_DeepCopy( self ) \
 		(ParticleShadowSync*)ParticleShadowSync_CopyFunc( self, NULL, True, NULL, NULL )
 	
-	void* _ParticleShadowSync_CopyFunc( void* ParticleShadowSync, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _ParticleShadowSync_CopyFunc( const void* ParticleShadowSync, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/** Stg_Class_Delete() implementation */
 	void _ParticleShadowSync_Delete(void* pCommsHandler );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/PerCellParticleLayout.c
--- a/Swarm/src/PerCellParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/PerCellParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -104,7 +104,7 @@ void _PerCellParticleLayout_AssignFromXM
    _PerCellParticleLayout_Init( self );
 }
 
-void* _PerCellParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _PerCellParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	PerCellParticleLayout*		self = (PerCellParticleLayout*)particleLayout;
 	PerCellParticleLayout*		newPerCellParticleLayout;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/PerCellParticleLayout.h
--- a/Swarm/src/PerCellParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/PerCellParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -104,7 +104,7 @@
 	#define PerCellParticleLayout_DeepCopy( self ) \
 		(PerCellParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _PerCellParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _PerCellParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
    void _PerCellParticleLayout_Destroy( void* particleLayout, void* data );
    void _PerCellParticleLayout_AssignFromXML( void* particleLayout, Stg_ComponentFactory *cf, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/PlaneParticleLayout.c
--- a/Swarm/src/PlaneParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/PlaneParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -122,7 +122,7 @@ void* _PlaneParticleLayout_DefaultNew( N
 	Particle_Index                                             totalInitialParticles = 0;
 	double                                            averageInitialParticlesPerCell = 0.0;
 	Dimension_Index                                                              dim = 0;
-	Axis                                                                   planeAxis = 0;
+	Axis                                                                   planeAxis = (Axis)0;
 	double                                                                planeCoord = 0;
 
    return (void*)_PlaneParticleLayout_New(  PLANEPARTICLELAYOUT_PASSARGS  );
@@ -160,11 +160,11 @@ void _PlaneParticleLayout_Print( void* p
 }
 
 
-void* _PlaneParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _PlaneParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	PlaneParticleLayout*		self                    = (PlaneParticleLayout*)particleLayout;
 	PlaneParticleLayout*		newPlaneParticleLayout;
 	
-	newPlaneParticleLayout = _SpaceFillerParticleLayout_Copy( self, dest, deep, nameExt, ptrMap );
+	newPlaneParticleLayout = (PlaneParticleLayout*)_SpaceFillerParticleLayout_Copy( self, dest, deep, nameExt, ptrMap );
 	
 	newPlaneParticleLayout->planeAxis  = self->planeAxis;
 	newPlaneParticleLayout->planeCoord = self->planeCoord;
@@ -193,7 +193,7 @@ void _PlaneParticleLayout_AssignFromXML(
 	Journal_Firewall( planeAxisString[0] >= 'X' && planeAxisString[0] <= 'Z', Journal_MyStream( Error_Type, self ),
 		"Error for %s '%s': Incorrect axis '%c' given for param 'planeAxis'.\n", self->type, self->name,planeAxisString[0]);
 
-	planeAxis = planeAxisString[0] - 'X';
+	planeAxis = (Axis)(planeAxisString[0] - 'X');
 
 	_PlaneParticleLayout_Init( self, planeAxis, planeCoord );
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/PlaneParticleLayout.h
--- a/Swarm/src/PlaneParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/PlaneParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -101,7 +101,7 @@ PlaneParticleLayout* _PlaneParticleLayou
 		(PlaneParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define PlaneParticleLayout_DeepCopy( self ) \
 		(PlaneParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _PlaneParticleLayout_Copy( void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _PlaneParticleLayout_Copy( const void* particleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _PlaneParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/RandomParticleLayout.c
--- a/Swarm/src/RandomParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/RandomParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -119,7 +119,7 @@ void _RandomParticleLayout_Print( void* 
 }
 
 
-void* _RandomParticleLayout_Copy( void* randomParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _RandomParticleLayout_Copy( const void* randomParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	RandomParticleLayout*		self = (RandomParticleLayout*)randomParticleLayout;
 	RandomParticleLayout*		newRandomParticleLayout;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/RandomParticleLayout.h
--- a/Swarm/src/RandomParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/RandomParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -90,7 +90,7 @@
 		(RandomParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define RandomParticleLayout_DeepCopy( self ) \
 		(RandomParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _RandomParticleLayout_Copy( void* randomParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _RandomParticleLayout_Copy( const void* randomParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _RandomParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SingleCellLayout.c
--- a/Swarm/src/SingleCellLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SingleCellLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -176,7 +176,7 @@ void _SingleCellLayout_Print( void* sing
 }
 
 
-void* _SingleCellLayout_Copy( void* singleCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _SingleCellLayout_Copy( const void* singleCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	SingleCellLayout*	self = (SingleCellLayout*)singleCellLayout;
 	SingleCellLayout*	newSingleCellLayout;
 	PtrMap*			map = ptrMap;
@@ -187,7 +187,7 @@ void* _SingleCellLayout_Copy( void* sing
 		ownMap = True;
 	}
 	
-	newSingleCellLayout = _CellLayout_Copy( self, dest, deep, nameExt, ptrMap );
+	newSingleCellLayout = (SingleCellLayout*)_CellLayout_Copy( self, dest, deep, nameExt, ptrMap );
 	
 	newSingleCellLayout->dimExists[0] = self->dimExists[0];
 	newSingleCellLayout->dimExists[1] = self->dimExists[1];
@@ -201,7 +201,7 @@ void* _SingleCellLayout_Copy( void* sing
 	newSingleCellLayout->pointCount = self->pointCount;
 	
 	if( deep ) {
-		if( (newSingleCellLayout->cellPointCoords = PtrMap_Find( map, self->cellPointCoords )) == NULL && self->cellPointCoords ) {
+          if( (newSingleCellLayout->cellPointCoords = (double**)PtrMap_Find( map, self->cellPointCoords )) == NULL && self->cellPointCoords ) {
 			unsigned	p_i;
 
 			newSingleCellLayout->cellPointCoords = Memory_Alloc_2DArray( double, newSingleCellLayout->pointCount, 3, (Name)"SingleCellLayout->cellPoints" );
@@ -235,7 +235,7 @@ void _SingleCellLayout_AssignFromXML( vo
 
 	dimExists[ I_AXIS ] = Stg_ComponentFactory_GetBool( cf, self->name, (Dictionary_Entry_Key)"dimExistsI", True  );
 	dimExists[ J_AXIS ] = Stg_ComponentFactory_GetBool( cf, self->name, (Dictionary_Entry_Key)"dimExistsJ", True  );
-	dimExists[ K_AXIS ] = Stg_ComponentFactory_GetBool( cf, self->name, (Dictionary_Entry_Key)"dimExistsK", (dim == 3)  );
+	dimExists[ K_AXIS ] = Stg_ComponentFactory_GetBool( cf, self->name, (Dictionary_Entry_Key)"dimExistsK", (dim == 3) ? True : False  );
 
 	min[ I_AXIS ] = Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"minX", -1.0  );
 	min[ J_AXIS ] = Stg_ComponentFactory_GetDouble( cf, self->name, (Dictionary_Entry_Key)"minY", -1.0  );
@@ -303,7 +303,7 @@ void _SingleCellLayout_InitialiseGlobalC
 	Cell_PointIndex	point_I = 0;
 	Coord		tempCoord;
 	double*		currPointCoord = NULL;
-	Index		i, j, k;	/* loop iterators for each dimension */
+	int		i, j, k;	/* loop iterators for each dimension */
 	
 	tempCoord[0] = self->min[I_AXIS];
 	tempCoord[1] = self->min[J_AXIS];
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SingleCellLayout.h
--- a/Swarm/src/SingleCellLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SingleCellLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -94,7 +94,7 @@
 		(SingleCellLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define SingleCellLayout_DeepCopy( self ) \
 		(SingleCellLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _SingleCellLayout_Copy( void* singleCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _SingleCellLayout_Copy( const void* singleCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Class Info */
 	void* _SingleCellLayout_DefaultNew( Name name );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SpaceFillerParticleLayout.c
--- a/Swarm/src/SpaceFillerParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SpaceFillerParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -136,7 +136,7 @@ void _SpaceFillerParticleLayout_Print( v
 	Stream_UnIndent( stream );
 }
 
-void* _SpaceFillerParticleLayout_Copy( void* spaceFillerParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _SpaceFillerParticleLayout_Copy( const void* spaceFillerParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	SpaceFillerParticleLayout*		self                    = (SpaceFillerParticleLayout*)spaceFillerParticleLayout;
 	SpaceFillerParticleLayout*		newSpaceFillerParticleLayout;
 	
@@ -193,7 +193,7 @@ void _SpaceFillerParticleLayout_Execute(
 }
 void _SpaceFillerParticleLayout_Destroy( void* spaceFillerParticleLayout, void* data ) {	
    SpaceFillerParticleLayout* self = (SpaceFillerParticleLayout*)spaceFillerParticleLayout;
-   int dim_I;
+   unsigned dim_I;
    
    for ( dim_I = 0 ; dim_I < self->dim ; dim_I++ ) 
       Stg_Class_Delete( self->sobolGenerator[ dim_I ] );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SpaceFillerParticleLayout.h
--- a/Swarm/src/SpaceFillerParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SpaceFillerParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -94,7 +94,7 @@
 		(SpaceFillerParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define SpaceFillerParticleLayout_DeepCopy( self ) \
 		(SpaceFillerParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _SpaceFillerParticleLayout_Copy( void* spaceFillerParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _SpaceFillerParticleLayout_Copy( const void* spaceFillerParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _SpaceFillerParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmClass.c
--- a/Swarm/src/SwarmClass.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmClass.c	Wed May 11 13:27:02 2011 -0700
@@ -89,7 +89,7 @@ Swarm* Swarm_New(
    MPI_Comm                              comm,
    void*				                       ics ) 
 {
-   Swarm* self = _Swarm_DefaultNew( name ); 
+  Swarm* self = (Swarm*)_Swarm_DefaultNew( name ); 
 
    _Swarm_Init( 
       self, context,
@@ -127,7 +127,7 @@ Swarm* _Swarm_New(  SWARM_DEFARGS  )
 	self->nSwarmVars = 0;
 	self->swarmVars = NULL;
 	self->owningCellVariable = NULL;
-   self->ics = ics;
+        self->ics = (VariableCondition*)ics;
 
 	return self;
 }
@@ -342,7 +342,7 @@ void _Swarm_Print( void* swarm, Stream* 
 }
 
 
-void* _Swarm_Copy( void* swarm, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Swarm_Copy( const void* swarm, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	Swarm*		self = (Swarm*)swarm;
 	Swarm*		newSwarm;
 	PtrMap*		map = ptrMap;
@@ -353,7 +353,7 @@ void* _Swarm_Copy( void* swarm, void* de
 		ownMap = True;
 	}
 	
-	newSwarm = _Stg_Component_Copy( self, dest, deep, nameExt, map );
+	newSwarm = (Swarm*)_Stg_Component_Copy( self, dest, deep, nameExt, map );
 	PtrMap_Append( map, self, newSwarm );
 	
 	newSwarm->myRank = self->myRank;
@@ -381,7 +381,7 @@ void* _Swarm_Copy( void* swarm, void* de
 		newSwarm->commHandlerList = (Stg_ObjectList*)Stg_Class_Copy( self->commHandlerList, NULL, deep, nameExt, map );
 		
 		/* Arrays */
-		if( (newSwarm->cellPointCountTbl = PtrMap_Find( map, self->cellPointCountTbl )) == NULL ) {
+		if( (newSwarm->cellPointCountTbl = (Cell_PointIndex*)PtrMap_Find( map, self->cellPointCountTbl )) == NULL ) {
 			if( self->cellPointCountTbl ) {
 				newSwarm->cellPointCountTbl = Memory_Alloc_Array( Cell_PointIndex, newSwarm->cellDomainCount, "Swarm->cellPointCountTbl" );
 				memcpy( newSwarm->cellPointCountTbl, self->cellPointCountTbl, newSwarm->cellDomainCount * sizeof( Cell_PointIndex ) );
@@ -392,7 +392,7 @@ void* _Swarm_Copy( void* swarm, void* de
 			}
 		}
 		
-		if( (newSwarm->cellPointTbl = PtrMap_Find( map, self->cellPointTbl )) == NULL ) {
+		if( (newSwarm->cellPointTbl = (double****)PtrMap_Find( map, self->cellPointTbl )) == NULL ) {
 			if( newSwarm->cellPointCountTbl && self->cellPointTbl ) {
 				Index	cell_I;
 				
@@ -407,7 +407,7 @@ void* _Swarm_Copy( void* swarm, void* de
 			}
 		}
 		
-		if( (newSwarm->cellParticleCountTbl = PtrMap_Find( map, self->cellParticleCountTbl )) == NULL ) {
+		if( (newSwarm->cellParticleCountTbl = (Particle_InCellIndex*)PtrMap_Find( map, self->cellParticleCountTbl )) == NULL ) {
 			if( self->cellParticleCountTbl ) {
 				newSwarm->cellParticleCountTbl = Memory_Alloc_Array( Particle_InCellIndex, newSwarm->cellDomainCount, "Swarm->cellParticleCountTbl" );
 				memcpy( newSwarm->cellParticleCountTbl, self->cellParticleCountTbl, newSwarm->cellDomainCount * sizeof( Particle_InCellIndex ) );
@@ -418,7 +418,7 @@ void* _Swarm_Copy( void* swarm, void* de
 			}
 		}
 		
-		if( (newSwarm->cellParticleSizeTbl = PtrMap_Find( map, self->cellParticleSizeTbl )) == NULL ) {
+		if( (newSwarm->cellParticleSizeTbl = (Particle_InCellIndex*)PtrMap_Find( map, self->cellParticleSizeTbl )) == NULL ) {
 			if( self->cellParticleSizeTbl ) {
 				newSwarm->cellParticleSizeTbl = Memory_Alloc_Array( Particle_InCellIndex, newSwarm->cellDomainCount, "Swarm->cellParticleSizeTbl" );
 				memcpy( newSwarm->cellParticleSizeTbl, self->cellParticleSizeTbl, newSwarm->cellDomainCount * sizeof( Particle_InCellIndex ) );
@@ -429,7 +429,7 @@ void* _Swarm_Copy( void* swarm, void* de
 			}
 		}
 		
-		if( (newSwarm->cellParticleTbl = PtrMap_Find( map, self->cellParticleTbl )) == NULL ) {
+		if( (newSwarm->cellParticleTbl = (Particle_Index**)PtrMap_Find( map, self->cellParticleTbl )) == NULL ) {
 			if( newSwarm->cellParticleCountTbl && self->cellParticleTbl ) {
 				Index	cell_I;
 				
@@ -450,7 +450,7 @@ void* _Swarm_Copy( void* swarm, void* de
 			}
 		}
 		
-		if( (newSwarm->particles = PtrMap_Find( map, self->particles )) == NULL ) {
+		if( (newSwarm->particles = (Particle*)PtrMap_Find( map, self->particles )) == NULL ) {
 			if( self->particles ) {
 				newSwarm->particles = (Particle_List)ExtensionManager_Malloc( newSwarm->particleExtensionMgr, newSwarm->particlesArraySize );
 				memcpy( newSwarm->particles, self->particles, newSwarm->particlesArraySize * ExtensionManager_GetFinalSize( newSwarm->particleExtensionMgr ) );
@@ -464,7 +464,7 @@ void* _Swarm_Copy( void* swarm, void* de
 		/*shadow info*/
 		if( self->shadowTablesBuilt ){
 
-			if( (newSwarm->shadowCellParticleCountTbl = PtrMap_Find( map, self->shadowCellParticleCountTbl )) == NULL ) {
+                  if( (newSwarm->shadowCellParticleCountTbl = (Particle_InCellIndex*)PtrMap_Find( map, self->shadowCellParticleCountTbl )) == NULL ) {
 				if( self->shadowCellParticleCountTbl ) {
 					newSwarm->shadowCellParticleCountTbl = Memory_Alloc_Array( Particle_InCellIndex, newSwarm->cellDomainCount, "Swarm->shadowCellParticleCountTbl" );
 					memcpy( newSwarm->shadowCellParticleCountTbl, self->shadowCellParticleCountTbl, newSwarm->cellDomainCount * sizeof( Particle_InCellIndex ) );
@@ -475,7 +475,7 @@ void* _Swarm_Copy( void* swarm, void* de
 				}
 			}
 		
-			if( (newSwarm->shadowCellParticleTbl = PtrMap_Find( map, self->shadowCellParticleTbl )) == NULL ) {
+                  if( (newSwarm->shadowCellParticleTbl = (Particle_Index**)PtrMap_Find( map, self->shadowCellParticleTbl )) == NULL ) {
 				if( newSwarm->shadowCellParticleCountTbl && self->shadowCellParticleTbl ) {
 					Index	cell_I;
 				
@@ -498,7 +498,7 @@ void* _Swarm_Copy( void* swarm, void* de
 				}
 			}
 		
-			if( (newSwarm->shadowParticles = PtrMap_Find( map, self->shadowParticles )) == NULL ) {
+                  if( (newSwarm->shadowParticles = (Particle*)PtrMap_Find( map, self->shadowParticles )) == NULL ) {
 				if( self->shadowParticles ) {
 					newSwarm->shadowParticles = (Particle_List)ExtensionManager_Malloc( newSwarm->particleExtensionMgr, newSwarm->shadowParticleCount);
 					memcpy( newSwarm->shadowParticles, self->shadowParticles,
@@ -599,7 +599,7 @@ void _Swarm_AssignFromXML( void* swarm, 
 	
 	{
 		unsigned int count = 0;
-		int i = 0;
+		unsigned i = 0;
 		Stg_Component **components = NULL;
 
 		components = (Stg_Component** )Stg_ComponentFactory_ConstructByList( cf, self->name, (Dictionary_Entry_Key)"ParticleCommHandlers", Stg_ComponentFactory_Unlimited, ParticleCommHandler, False, &count, data );
@@ -626,7 +626,7 @@ void _Swarm_AssignFromXML( void* swarm, 
          sizeof(IntegrationPoint),
 			cellParticleTblDelta,
 			extraParticlesFactor,
-			extensionManagerRegister,
+			(ExtensionManager_Register*)extensionManagerRegister,
 			variable_Register,
 			context->communicator,
 			ic );
@@ -829,7 +829,7 @@ void _Swarm_BuildParticles( void* swarm,
 
 void _Swarm_BuildShadowParticles( void* swarm ) {
 	Swarm*			self = (Swarm*)swarm;
-	int i = 0;
+	unsigned i = 0;
 	
 	self->shadowTablesBuilt = True;
 
@@ -913,7 +913,7 @@ void Swarm_UpdateAllParticleOwners( void
 		/*Stg_Component_Execute( self->particleCommunicationHandler[0], NULL, True );
 		Stg_Component_Execute( self->particleCommunicationHandler[1], NULL, True );*/
 		{
-			int ii;
+			unsigned ii;
 			for( ii=0; ii<self->commHandlerList->count; ii++ ){
 				ParticleCommHandler *pComm = NULL;
 
@@ -1182,9 +1182,9 @@ Particle_Index Swarm_FindClosestParticle
 	closestParticle_I = swarm->cellParticleTbl[ lCell_I ][ cParticle_I ];
 
 	/* Find neighbours to this cell - TODO This Assumes ElementCellLayout */
-	Mesh_GetIncidence( ((ElementCellLayout*)swarm->cellLayout)->mesh, dim, lCell_I, dim, swarm->incArray );
+	Mesh_GetIncidence( ((ElementCellLayout*)swarm->cellLayout)->mesh, (MeshTopology_Dim)dim, lCell_I, (MeshTopology_Dim)dim, swarm->incArray );
 	neighbourCount = IArray_GetSize( swarm->incArray );
-	neighbourList = IArray_GetPtr( swarm->incArray );
+	neighbourList = (NeighbourIndex*)IArray_GetPtr( swarm->incArray );
 
 	/* Loop over neighbours */
 	for ( neighbour_I = 0 ; neighbour_I < neighbourCount ; neighbour_I++ ) {
@@ -1313,7 +1313,7 @@ void Swarm_GetCellMinMaxCoords( void* sw
 void Swarm_GetCellMinMaxCoords( void* swarm, Cell_DomainIndex cell_I, Coord min, Coord max ) {
 	Swarm*              self     =  (Swarm*) swarm;
 	Dimension_Index		  dim_I;
-	int                 dim      = self->dim;
+	unsigned                 dim      = self->dim;
 	Cell_PointIndex		  cPoint_I;
 	double*             currCoord;
 
@@ -1344,10 +1344,10 @@ SwarmVariable* Swarm_NewScalarVariable(
 		Variable_DataType               dataType )
 {
 	Swarm*                   self              = (Swarm*) swarm;
-	Name                     name;
+	char*                    name;
 	Variable*                variable;
 	SizeT                    dataOffsets[]     = { 0 };		/* Init value later */
-	Variable_DataType        dataTypes[]       = { 0 };		/* Init value later */
+	Variable_DataType        dataTypes[]       = { (Variable_DataType)0 };		/* Init value later */
 	Index                    dataTypeCounts[]  = { 1 };
 	SwarmVariable*           swarmVariable;
 	Variable_Register*       variable_Register      = NULL;
@@ -1408,11 +1408,11 @@ SwarmVariable* Swarm_NewVectorVariable(
 	Swarm*                   self             = (Swarm*) _swarm;
 	Variable*                variable;
 	SizeT                    dataOffsets[]    = { 0 };	/* Init later... */
-	Variable_DataType	     dataTypes[]      = { 0 };	/* Init later... */	
+	Variable_DataType	     dataTypes[]      = { (Variable_DataType)0 };	/* Init later... */	
 	Index                    dataTypeCounts[] = { 0 };	/* Init later... */	
-	Name*                    dataNames;
+	char**                   dataNames;
 	Index                    vector_I;
-	Name                     name;
+	char*                    name;
 	SwarmVariable*           swarmVariable;
 	Variable_Register*       variable_Register      = NULL;
 	SwarmVariable_Register*  swarmVariable_Register = NULL;
@@ -1427,7 +1427,7 @@ SwarmVariable* Swarm_NewVectorVariable(
 	Stg_asprintf( &name, "%s-%s", self->name, nameExt );
 
 	/* Get names of extra variables */
-	dataNames = Memory_Alloc_Array( Name, dataTypeCount, "dataNames" );
+	dataNames = Memory_Alloc_Array( char*, dataTypeCount, "dataNames" );
 	va_start( ap, dataTypeCount );
 	for( vector_I = 0; vector_I < dataTypeCount; vector_I++ ) {
 		dataNames[vector_I] = Stg_Object_AppendSuffix( self, (Name)(Name ) va_arg( ap, Name ) );
@@ -1447,7 +1447,7 @@ SwarmVariable* Swarm_NewVectorVariable(
 		dataOffsets, 
 		dataTypes, 
 		dataTypeCounts, 
-		dataNames,
+		(Name*)dataNames,
 		&self->particleExtensionMgr->finalSize,
 		&self->particleLocalCount,
 		NULL,
@@ -1482,7 +1482,7 @@ void Swarm_Realloc( void* swarm ) {
 	Swarm*         self               = (Swarm*) swarm;
 	Particle_Index particleLocalCount = self->particleLocalCount;
 	Particle_Index delta              = self->particlesArrayDelta;
-	int v_i;
+	unsigned v_i;
 
 	if ( !self->expanding && particleLocalCount <= self->particlesArraySize - delta ) {
 		/* Decrease size of array if necessary */
@@ -1498,7 +1498,7 @@ void Swarm_Realloc( void* swarm ) {
 	}
 
 	/* Do realloc */
-	self->particles = Memory_Realloc_Array_Bytes(
+	self->particles = (Particle*)Memory_Realloc_Array_Bytes(
 			self->particles,
 			self->particleExtensionMgr->finalSize,
 			self->particlesArraySize );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmClass.h
--- a/Swarm/src/SwarmClass.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmClass.h	Wed May 11 13:27:02 2011 -0700
@@ -126,7 +126,7 @@
 		/** Particle Communication handler */ \
 		\
 		Stg_ObjectList                  *commHandlerList; \
-		int				nSwarmVars; \
+		Index				nSwarmVars; \
 		SwarmVariable			**swarmVars; \
 		\
 		VariableCondition*		ics; \
@@ -230,7 +230,7 @@
 	#define Swarm_DeepCopy( self ) \
 		(Swarm*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _Swarm_Copy( void* swarm, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _Swarm_Copy( const void* swarm, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _Swarm_DefaultNew( Name name );
 	void _Swarm_AssignFromXML( void* swarm, Stg_ComponentFactory* cf, void* data );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmDump.c
--- a/Swarm/src/SwarmDump.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmDump.c	Wed May 11 13:27:02 2011 -0700
@@ -60,7 +60,7 @@ SwarmDump* SwarmDump_New(
 	Index		swarmCount,
 	Bool		newFileEachTime )
 {
-	SwarmDump* self = _SwarmDump_DefaultNew( name );
+  SwarmDump* self = (SwarmDump*)_SwarmDump_DefaultNew( name );
 
 	_SwarmDump_Init( self, context, swarmList, swarmCount, newFileEachTime );
 	return self;
@@ -127,7 +127,7 @@ void _SwarmDump_Print( void* _swarmDump,
         Stream_UnIndent( stream );
 }
 
-void* _SwarmDump_Copy( void* swarmDump, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _SwarmDump_Copy( const void* swarmDump, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
         SwarmDump*      self = (SwarmDump*)swarmDump;
         SwarmDump*      newSwarmDump;
         PtrMap*                 map = ptrMap;
@@ -138,7 +138,7 @@ void* _SwarmDump_Copy( void* swarmDump, 
                 ownMap = True;
         }
         
-        newSwarmDump = _Stg_Component_Copy( self, dest, deep, nameExt, map );
+        newSwarmDump = (SwarmDump*)_Stg_Component_Copy( self, dest, deep, nameExt, map );
         memcpy( newSwarmDump->swarmList, self->swarmList, self->swarmCount * sizeof(Swarm*) );
         newSwarmDump->swarmCount = self->swarmCount;
 
@@ -284,7 +284,7 @@ void SwarmDump_Execute( void* swarmDump,
 }
 
 #ifdef WRITE_HDF5
-void SwarmDump_DumpToHDF5( SwarmDump* self, Swarm* swarm, const char* filename ) {
+void SwarmDump_DumpToHDF5( SwarmDump* self, Swarm* swarm, Name filename ) {
    hid_t                   file, fileSpace, fileData;
    hid_t                   memSpace;
    hid_t                   props;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmDump.h
--- a/Swarm/src/SwarmDump.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmDump.h	Wed May 11 13:27:02 2011 -0700
@@ -88,7 +88,7 @@
 	
 	void _SwarmDump_Delete( void* swarmDump ) ;
 	void _SwarmDump_Print( void* _swarmDump, Stream* stream ) ;
-	void* _SwarmDump_Copy( void* swarmDump, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _SwarmDump_Copy( const void* swarmDump, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	#define SwarmDump_Copy( self ) \
 		(SwarmDump*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	
@@ -102,7 +102,7 @@
 	/** Virtual Function Wrappers */
 	void SwarmDump_Execute( void* swarmDump, void* context ) ;
 #ifdef WRITE_HDF5
-	void SwarmDump_DumpToHDF5( SwarmDump* self, Swarm* swarm, const char* filename );
+	void SwarmDump_DumpToHDF5( SwarmDump* self, Swarm* swarm, Name filename );
 #endif
 
 #endif /* __StgDomain_Swarm_SwarmDump_h__ */
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmOutput.c
--- a/Swarm/src/SwarmOutput.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmOutput.c	Wed May 11 13:27:02 2011 -0700
@@ -57,7 +57,7 @@ SwarmOutput* SwarmOutput_New(
 		unsigned int                                       decimalLength,
 		char*                                              borderString )		
 {
-	SwarmOutput* self = _SwarmOutput_DefaultNew( name );
+  SwarmOutput* self = (SwarmOutput*)_SwarmOutput_DefaultNew( name );
 
 	_SwarmOutput_Init( self, context, swarm, baseFilename, columnWidth, decimalLength, borderString );
 	return self;
@@ -140,7 +140,7 @@ void _SwarmOutput_Print( void* _swarmOut
 	Stream_UnIndent( stream );
 }
 
-void* _SwarmOutput_Copy( void* swarmOutput, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _SwarmOutput_Copy( const void* swarmOutput, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	SwarmOutput*	self = (SwarmOutput*)swarmOutput;
 	SwarmOutput*	newSwarmOutput;
 	PtrMap*			map = ptrMap;
@@ -151,7 +151,7 @@ void* _SwarmOutput_Copy( void* swarmOutp
 		ownMap = True;
 	}
 	
-	newSwarmOutput = _Stg_Component_Copy( self, dest, deep, nameExt, map );
+	newSwarmOutput = (SwarmOutput*)_Stg_Component_Copy( self, dest, deep, nameExt, map );
 	
 	newSwarmOutput->_printHeader               = self->_printHeader;
 	newSwarmOutput->_printData                 = self->_printData  ;
@@ -222,7 +222,7 @@ void _SwarmOutput_Initialise( void* swar
 	Swarm*           swarm               = self->swarm;
 	Variable*        globalIndexVariable = self->globalIndexVariable;
 	Particle_Index   lParticle_I;
-	Name             filename;
+	char*            filename;
 	Stream*          stream              = Journal_Register( Info_Type, (Name)SwarmOutput_Type  );
 
    /* re-enable printing from current rank process */
@@ -253,7 +253,7 @@ void _SwarmOutput_Execute( void* swarmOu
 	Swarm*            swarm               = self->swarm;
 	Variable*         globalIndexVariable = self->globalIndexVariable;
 	Particle_Index    lParticle_I;
-	Name              filename;
+	char*             filename;
 	Stream*           stream              = Journal_Register( Info_Type, (Name)SwarmOutput_Type  );
 
    /* re-enable printing from current rank process */
@@ -356,7 +356,7 @@ void _SwarmOutput_SetGlobalIndicies( voi
 	}
 }
 
-void SwarmOutput_PrintString( void* swarmOutput, Stream* stream, char* string ) {
+void SwarmOutput_PrintString( void* swarmOutput, Stream* stream, Name string ) {
 	SwarmOutput*	  self                = (SwarmOutput*)     swarmOutput;
 
 	Journal_Printf( stream, "%s", self->borderString );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmOutput.h
--- a/Swarm/src/SwarmOutput.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmOutput.h	Wed May 11 13:27:02 2011 -0700
@@ -105,7 +105,7 @@
 	
 	void _SwarmOutput_Delete( void* swarmOutput ) ;
 	void _SwarmOutput_Print( void* _swarmOutput, Stream* stream ) ;
-	void* _SwarmOutput_Copy( void* swarmOutput, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _SwarmOutput_Copy( const void* swarmOutput, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	#define SwarmOutput_Copy( self ) \
 		(SwarmOutput*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	
@@ -125,7 +125,7 @@
 	void SwarmOutput_PrintData( void* swarmOutput, Stream* stream, Particle_Index lParticle_I, void* context ) ;
 
 	void _SwarmOutput_SetGlobalIndicies( void* swarmOutput, void* data ) ;
-	void SwarmOutput_PrintString( void* swarmOutput, Stream* stream, char* string ) ;
+	void SwarmOutput_PrintString( void* swarmOutput, Stream* stream, Name string ) ;
 	void SwarmOutput_PrintDouble( void* swarmOutput, Stream* stream, double value ) ;
 	void SwarmOutput_PrintTuple( void* swarmOutput, Stream* stream, double* value, Index size );
 	#define SwarmOutput_PrintValue( swarmOutput, stream, value )\
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmShapeVC.c
--- a/Swarm/src/SwarmShapeVC.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmShapeVC.c	Wed May 11 13:27:02 2011 -0700
@@ -150,7 +150,7 @@ void _SwarmShapeVC_Destroy( void* variab
 		Memory_Free(self->_entryTbl);
 
 	if ( self->shapeName )
-		Memory_Free( self->shapeName );
+          Memory_Free( self->shapeName );
 	
 	/* Stg_Class_Delete parent */
 	_VariableCondition_Destroy( self, data );
@@ -234,7 +234,7 @@ void _SwarmShapeVC_Print(void* variableC
 }
 
 
-void* _SwarmShapeVC_Copy( void* variableCondition, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
+void* _SwarmShapeVC_Copy( const void* variableCondition, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
 	SwarmShapeVC*   self           = (SwarmShapeVC*)variableCondition;
 	SwarmShapeVC*   newSwarmShapeVC;
 	PtrMap*         map            = ptrMap;
@@ -254,7 +254,7 @@ void* _SwarmShapeVC_Copy( void* variable
 	if( deep ) {
 		newSwarmShapeVC->_swarm = (Swarm*)Stg_Class_Copy( self->_swarm, NULL, deep, nameExt, map );
 		
-		if( (newSwarmShapeVC->_entryTbl = PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
+		if( (newSwarmShapeVC->_entryTbl = (SwarmShapeVC_Entry*)PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
 			newSwarmShapeVC->_entryTbl = Memory_Alloc_Array( SwarmShapeVC_Entry, newSwarmShapeVC->_entryCount, "SwarmShapeVC->_entryTbl");
 			memcpy( newSwarmShapeVC->_entryTbl, self->_entryTbl, sizeof(SwarmShapeVC_Entry) * newSwarmShapeVC->_entryCount );
 			PtrMap_Append( map, newSwarmShapeVC->_entryTbl, self->_entryTbl );
@@ -287,9 +287,9 @@ void _SwarmShapeVC_AssignFromXML( void* 
 
 	variable_Register = context->variable_Register; 
 	assert( variable_Register  );
-	self->variable_Register = variable_Register;
+	self->variable_Register = (Variable_Register*)variable_Register;
 
-	_VariableCondition_Init( self, context, variable_Register, conFunc_Register, NULL );
+	_VariableCondition_Init( self, context, (Variable_Register*)variable_Register, (ConditionFunction_Register*)conFunc_Register, NULL );
 	
 	self->dictionary = Dictionary_GetDictionary( cf->componentDict, self->name );
 }
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmShapeVC.h
--- a/Swarm/src/SwarmShapeVC.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmShapeVC.h	Wed May 11 13:27:02 2011 -0700
@@ -59,7 +59,7 @@
 		SwarmShapeVC_Entry*			_entryTbl; \
 		Swarm*							_swarm; \
 		Stg_Shape*						_shape; \
-		Name								shapeName; \
+		char*								shapeName; \
 
 	struct SwarmShapeVC { __SwarmShapeVC };
 	
@@ -103,7 +103,7 @@
 
 	void _SwarmShapeVC_Print( void* shapeVC, Stream* stream );
 
-	void* _SwarmShapeVC_Copy( void* shapeVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	void* _SwarmShapeVC_Copy( const void* shapeVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
 
 	void _SwarmShapeVC_Destroy( void* shapeVC, void* data );
 
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmVariable.c
--- a/Swarm/src/SwarmVariable.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmVariable.c	Wed May 11 13:27:02 2011 -0700
@@ -140,7 +140,7 @@ void _SwarmVariable_Print( void* _swarmV
 	Stream_UnIndent( stream );
 }
 
-void* _SwarmVariable_Copy( void* swarmVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _SwarmVariable_Copy( const void* swarmVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	SwarmVariable*	self = (SwarmVariable*)swarmVariable;
 	SwarmVariable*	newSwarmVariable;
 	PtrMap*			map = ptrMap;
@@ -151,7 +151,7 @@ void* _SwarmVariable_Copy( void* swarmVa
 		ownMap = True;
 	}
 	
-	newSwarmVariable = _Stg_Component_Copy( self, dest, deep, nameExt, map );
+	newSwarmVariable = (SwarmVariable*)_Stg_Component_Copy( self, dest, deep, nameExt, map );
 	
 	newSwarmVariable->_valueAt						= self->_valueAt;
 	newSwarmVariable->_getMinGlobalMagnitude	= self->_getMinGlobalMagnitude;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/SwarmVariable.h
--- a/Swarm/src/SwarmVariable.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/SwarmVariable.h	Wed May 11 13:27:02 2011 -0700
@@ -121,7 +121,7 @@
 	void _SwarmVariable_Initialise( void* swarmVariable, void* data );
 	
 	/* Copy */
-	void* _SwarmVariable_Copy( void* swarmVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _SwarmVariable_Copy( const void* swarmVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/** Interface to determine the value of the swarm at a specific particle. */
 	#define SwarmVariable_ValueAt( swarmVariable, lParticle_I, value ) \
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/Swarm_Register.c
--- a/Swarm/src/Swarm_Register.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/Swarm_Register.c	Wed May 11 13:27:02 2011 -0700
@@ -152,7 +152,7 @@ Index Swarm_Register_Add( Swarm_Register
 
 void Swarm_Register_RemoveIndex( Swarm_Register* self, unsigned int index )
 {
-   int swarm_i = 0;
+   unsigned swarm_i = 0;
 	assert( self );
 	/* The third argument controls if the Delete phase is run or not in this function
 	 * KEEP = Don't run delete
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/TriGaussParticleLayout.c
--- a/Swarm/src/TriGaussParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/TriGaussParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -120,7 +120,7 @@ void _TriGaussParticleLayout_Print( void
 }
 
 
-void* _TriGaussParticleLayout_Copy( void* triGaussParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _TriGaussParticleLayout_Copy( const void* triGaussParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	TriGaussParticleLayout*		self = (TriGaussParticleLayout*)triGaussParticleLayout;
 	TriGaussParticleLayout*		newTriGaussParticleLayout;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/TriGaussParticleLayout.h
--- a/Swarm/src/TriGaussParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/TriGaussParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -92,7 +92,7 @@
 		(TriGaussParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define TriGaussParticleLayout_DeepCopy( self ) \
 		(TriGaussParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _TriGaussParticleLayout_Copy( void* triGaussParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _TriGaussParticleLayout_Copy( const void* triGaussParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	void* _TriGaussParticleLayout_DefaultNew( Name name );
 	void  _TriGaussParticleLayout_AssignFromXML( void* triGaussParticleLayout, Stg_ComponentFactory* cf, void* data );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/TriSingleCellLayout.c
--- a/Swarm/src/TriSingleCellLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/TriSingleCellLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -134,11 +134,11 @@ void _TriSingleCellLayout_Print( void* t
 }
 
 
-void* _TriSingleCellLayout_Copy( void* triSingleCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _TriSingleCellLayout_Copy( const void* triSingleCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	TriSingleCellLayout*	self = (TriSingleCellLayout*)triSingleCellLayout;
 	TriSingleCellLayout*	newTriSingleCellLayout;
 	
-	newTriSingleCellLayout = _CellLayout_Copy( self, dest, deep, nameExt, ptrMap );
+	newTriSingleCellLayout = (TriSingleCellLayout*)_CellLayout_Copy( self, dest, deep, nameExt, ptrMap );
 	
 	newTriSingleCellLayout->dictionary = self->dictionary;
 	newTriSingleCellLayout->dim = self->dim;
@@ -245,7 +245,7 @@ Cell_Index _TriSingleCellLayout_MapEleme
 
 Bool _TriSingleCellLayout_IsInCell( void* triSingleCellLayout, Cell_Index cellIndex, void* particle ) {
 	assert( 0 );
-	return 0;
+	return False;
 }
 
 
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/TriSingleCellLayout.h
--- a/Swarm/src/TriSingleCellLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/TriSingleCellLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -102,7 +102,7 @@ given mesh layout.
 	#define TriSingleCellLayout_DeepCopy( self ) \
 		(TriSingleCellLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _TriSingleCellLayout_Copy( void* triSingleCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _TriSingleCellLayout_Copy( const void* triSingleCellLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 
 	void _TriSingleCellLayout_AssignFromXML( void *triSingleCellLayout, Stg_ComponentFactory *cf, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/UnionParticleLayout.c
--- a/Swarm/src/UnionParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/UnionParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -114,7 +114,7 @@ void _UnionParticleLayout_Print( void* u
 	Stream_UnIndent( stream );
 }
 
-void* _UnionParticleLayout_Copy( void* unionParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _UnionParticleLayout_Copy( const void* unionParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	UnionParticleLayout*		self                    = (UnionParticleLayout*)unionParticleLayout;
 	UnionParticleLayout*		newUnionParticleLayout;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/UnionParticleLayout.h
--- a/Swarm/src/UnionParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/UnionParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -95,7 +95,7 @@
 		(UnionParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define UnionParticleLayout_DeepCopy( self ) \
 		(UnionParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _UnionParticleLayout_Copy( void* unionParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _UnionParticleLayout_Copy( const void* unionParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _UnionParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/WithinShapeParticleLayout.c
--- a/Swarm/src/WithinShapeParticleLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/WithinShapeParticleLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -123,11 +123,11 @@ void _WithinShapeParticleLayout_Print( v
 }
 
 
-void* _WithinShapeParticleLayout_Copy( void* withinShapeParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _WithinShapeParticleLayout_Copy( const void* withinShapeParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	WithinShapeParticleLayout*		self                    = (WithinShapeParticleLayout*)withinShapeParticleLayout;
 	WithinShapeParticleLayout*		newWithinShapeParticleLayout;
 	
-	newWithinShapeParticleLayout = _SpaceFillerParticleLayout_Copy( self, dest, deep, nameExt, ptrMap );
+	newWithinShapeParticleLayout = (WithinShapeParticleLayout*)_SpaceFillerParticleLayout_Copy( self, dest, deep, nameExt, ptrMap );
 	
 	if ( deep ) {
 		newWithinShapeParticleLayout->shape = (Stg_Shape*)Stg_Class_Copy( self->shape, NULL, deep, nameExt, ptrMap );
diff -r e534f234897d -r fecc51eb5f13 Swarm/src/WithinShapeParticleLayout.h
--- a/Swarm/src/WithinShapeParticleLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/src/WithinShapeParticleLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -95,7 +95,7 @@ WithinShapeParticleLayout* _WithinShapeP
 		(WithinShapeParticleLayout*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define WithinShapeParticleLayout_DeepCopy( self ) \
 		(WithinShapeParticleLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _WithinShapeParticleLayout_Copy( void* withinShapeParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _WithinShapeParticleLayout_Copy( const void* withinShapeParticleLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Stuff */
 	void* _WithinShapeParticleLayout_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Swarm/tests/ElementCellLayoutSuite.c
--- a/Swarm/tests/ElementCellLayoutSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/tests/ElementCellLayoutSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -125,7 +125,7 @@ void ElementCellLayoutSuite_TestElementC
 	GlobalParticle			testParticle;
 		
 	if( data->rank == procToWatch ) {
-		for( element = 0; element < Mesh_GetLocalSize( data->mesh, data->nDims ); element++ ) {
+          for( element = 0; element < Mesh_GetLocalSize( data->mesh, (MeshTopology_Dim)(data->nDims) ); element++ ) {
 			Cell_PointIndex	count;
 			double***			cellPoints;
 	
diff -r e534f234897d -r fecc51eb5f13 Swarm/tests/GaussLayoutSuite.c
--- a/Swarm/tests/GaussLayoutSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/tests/GaussLayoutSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -98,7 +98,7 @@ void GaussLayoutSuite_Teardown( GaussLay
 	Journal_Enable_AllTypedStream( True );
 }
 
-void GaussLayoutSuite_TestDriver( GaussLayoutSuiteData* data, char* name,  char* expected, char* output, Particle_InCellIndex particlesPerDim[], int totalParticleCount ) {
+void GaussLayoutSuite_TestDriver( GaussLayoutSuiteData* data, Name name,  const char* expected, const char* output, Particle_InCellIndex particlesPerDim[], int totalParticleCount ) {
 	int procToWatch = data->nProcs >=2 ? 1 : 0;
 
 	if( data->rank == procToWatch ) {	
@@ -141,7 +141,7 @@ void GaussLayoutSuite_TestDriver( GaussL
 		/* Checks that the particule count on each cell are the same. */
 		for( i = 0; i < len; i++ ) {
 			count = swarm->cellParticleCountTbl[i];
-			pcu_check_true( count == totalParticleCount  );
+			pcu_check_true( count == (unsigned)totalParticleCount  );
 		}	
 		Swarm_GetCellMinMaxCoords( swarm, 4, minCell, maxCell );
 		Journal_Printf( stream, "Particle per dim: %d %d %d\n", particlesPerDim[0], particlesPerDim[1], particlesPerDim[2]);	
diff -r e534f234897d -r fecc51eb5f13 Swarm/tests/ShadowSyncSuite.c
--- a/Swarm/tests/ShadowSyncSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/tests/ShadowSyncSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -175,7 +175,7 @@ void ShadowSyncSuite_ValidateShadowing( 
 	Swarm_UpdateAllParticleOwners( swarm );
 
 	if(swarm->nProc > 1 ) {
-		int ii = 0, jj = 0;
+		unsigned ii = 0, jj = 0;
 		ShadowInfo*			cellShadowInfo = CellLayout_GetShadowInfo( swarm->cellLayout );
 		ProcNbrInfo*		procNbrInfo = cellShadowInfo->procNbrInfo;
 		
@@ -189,7 +189,7 @@ void ShadowSyncSuite_ValidateShadowing( 
 
 			{
 				Neighbour_Index		        nbr_I;
-				int i = 0, j = 0;
+				unsigned i = 0, j = 0;
 				int shadowCell = 0;
 
 				for ( nbr_I=0; nbr_I < procNbrInfo->procNbrCnt; nbr_I++ ) {
@@ -204,7 +204,7 @@ void ShadowSyncSuite_ValidateShadowing( 
 						for( j=0; j<swarm->shadowCellParticleCountTbl[shadowCell]; j++ ){
 							
 							req = MemoryPool_NewObject( MPI_Request, requestPool );
-							particle = MemoryPool_NewObjectFunc( swarm->particleExtensionMgr->finalSize, particlePool );
+							particle = (char*)MemoryPool_NewObjectFunc( swarm->particleExtensionMgr->finalSize, particlePool );
 							LinkedList_InsertNode( list, req, sizeof(void*) );
 							LinkedList_InsertNode( particleList, particle, sizeof(void*) );
 						
@@ -217,9 +217,9 @@ void ShadowSyncSuite_ValidateShadowing( 
 
 			{
 				Neighbour_Index		        nbr_I;
-				int i = 0, j = 0;
+				unsigned i = 0, j = 0;
 				int shadowedCell = 0;
-				char *array = malloc( swarm->particleExtensionMgr->finalSize );
+				char *array = (char*)malloc( swarm->particleExtensionMgr->finalSize );
 
 				for ( nbr_I=0; nbr_I < procNbrInfo->procNbrCnt; nbr_I++ ) {
 					for( i=0; i<cellShadowInfo->procShadowedCnt[nbr_I]; i++ ){
@@ -261,7 +261,7 @@ void ShadowSyncSuite_ValidateShadowing( 
 					for( ii=0; ii<procNbrInfo->procNbrCnt; ii++ ){
 						for( jj=0; jj<cellShadowInfo->procShadowCnt[ii]; jj++ ){
 							int shadowCell = 0;
-							int kk = 0;
+							unsigned kk = 0;
 
 							shadowCell = cellShadowInfo->procShadowTbl[ii][jj];
 							for( kk=0; kk<swarm->shadowCellParticleCountTbl[shadowCell]; kk++ ){
diff -r e534f234897d -r fecc51eb5f13 Swarm/tests/SingleCellLayoutSuite.c
--- a/Swarm/tests/SingleCellLayoutSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Swarm/tests/SingleCellLayoutSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -62,7 +62,7 @@ void SingleCellLayoutSuite_Setup( Single
 
 	data->dimExists[0] = True; data->dimExists[1] = True; data->dimExists[2] = True;
 	/* Configure the single-cell-layout */
-	data->singleCellLayout = SingleCellLayout_New( "singleCellLayout", NULL, data->dimExists, NULL, NULL );
+	data->singleCellLayout = SingleCellLayout_New( "singleCellLayout", NULL, (Bool*)(data->dimExists), NULL, NULL );
 }
 
 void SingleCellLayoutSuite_Teardown( SingleCellLayoutSuiteData* data ) {
diff -r e534f234897d -r fecc51eb5f13 Utils/src/AllElementsVC.c
--- a/Utils/src/AllElementsVC.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/AllElementsVC.c	Wed May 11 13:27:02 2011 -0700
@@ -336,7 +336,7 @@ void _AllElementsVC_Print( void* allElem
 }
 
 
-void* _AllElementsVC_Copy( void* allElementsVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
+void* _AllElementsVC_Copy( const void* allElementsVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
 	AllElementsVC*		self = (AllElementsVC*)allElementsVC;
 	AllElementsVC*		newAllElementsVC;
 	PtrMap*			map = ptrMap;
@@ -355,7 +355,7 @@ void* _AllElementsVC_Copy( void* allElem
 	if( deep ) {
 		newAllElementsVC->mesh = (Mesh*)Stg_Class_Copy( self->mesh, NULL, deep, nameExt, map );
 		
-		if( (newAllElementsVC->_entryTbl = PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
+		if( (newAllElementsVC->_entryTbl = (AllElementsVC_Entry*)PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
 			newAllElementsVC->_entryTbl = Memory_Alloc_Array( AllElementsVC_Entry, newAllElementsVC->_entryCount, "AllElementsVC->_entryTbl");
 			memcpy( newAllElementsVC->_entryTbl, self->_entryTbl, sizeof(AllElementsVC_Entry) * newAllElementsVC->_entryCount );
 			PtrMap_Append( map, newAllElementsVC->_entryTbl, self->_entryTbl );
diff -r e534f234897d -r fecc51eb5f13 Utils/src/AllElementsVC.h
--- a/Utils/src/AllElementsVC.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/AllElementsVC.h	Wed May 11 13:27:02 2011 -0700
@@ -117,7 +117,7 @@
 	#define AllElementsVC_Copy( self ) \
 		(VariableCondition*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	
-	void* _AllElementsVC_Copy( void* allElementsVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	void* _AllElementsVC_Copy( const void* allElementsVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
 	
 	void _AllElementsVC_Build( void* allElementsVC, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/src/AllNodesVC.c
--- a/Utils/src/AllNodesVC.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/AllNodesVC.c	Wed May 11 13:27:02 2011 -0700
@@ -341,7 +341,7 @@ void _AllNodesVC_Print( void* allNodesVC
 }
 
 
-void* _AllNodesVC_Copy( void* allNodesVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
+void* _AllNodesVC_Copy( const void* allNodesVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
 	AllNodesVC*		self = (AllNodesVC*)allNodesVC;
 	AllNodesVC*		newAllNodesVC;
 	PtrMap*			map = ptrMap;
@@ -360,7 +360,7 @@ void* _AllNodesVC_Copy( void* allNodesVC
 	if( deep ) {
 		newAllNodesVC->mesh = (Mesh*)Stg_Class_Copy( self->mesh, NULL, deep, nameExt, map );
 		
-		if( (newAllNodesVC->_entryTbl = PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
+		if( (newAllNodesVC->_entryTbl = (AllNodesVC_Entry*)PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
 			newAllNodesVC->_entryTbl = Memory_Alloc_Array( AllNodesVC_Entry, newAllNodesVC->_entryCount, "AllNodesVC->_entryTbl");
 			memcpy( newAllNodesVC->_entryTbl, self->_entryTbl, sizeof(AllNodesVC_Entry) * newAllNodesVC->_entryCount );
 			PtrMap_Append( map, newAllNodesVC->_entryTbl, self->_entryTbl );
diff -r e534f234897d -r fecc51eb5f13 Utils/src/AllNodesVC.h
--- a/Utils/src/AllNodesVC.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/AllNodesVC.h	Wed May 11 13:27:02 2011 -0700
@@ -115,7 +115,7 @@
 	#define AllNodesVC_Copy( self ) \
 		(VariableCondition*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	
-	void* _AllNodesVC_Copy( void* allNodesVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	void* _AllNodesVC_Copy( const void* allNodesVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
 	
 	void _AllNodesVC_Build( void* allNodesVC, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/src/ContactVC.h
--- a/Utils/src/ContactVC.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/ContactVC.h	Wed May 11 13:27:02 2011 -0700
@@ -107,7 +107,7 @@
 	#define ContactVC_Copy( self ) \
 		(VariableCondition*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	
-	void* _ContactVC_Copy( void* wallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	void* _ContactVC_Copy( const void* wallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
 	
 	void _ContactVC_Build(  void* wallVC, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/src/CornerVC.c
--- a/Utils/src/CornerVC.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/CornerVC.c	Wed May 11 13:27:02 2011 -0700
@@ -47,7 +47,7 @@ const Type CornerVC_Type = "CornerVC";
 const Type CornerVC_Type = "CornerVC";
 const Name defaultCornerVCName = "defaultCornerVCName";
 /* List of corner names */
-const char* CornerVC_CornerEnumToStr[CornerVC_Corner_Size] = {
+Name CornerVC_CornerEnumToStr[CornerVC_Corner_Size] = {
    "bottomLeftFront",
    "bottomRightFront",
    "topLeftFront",
@@ -384,7 +384,7 @@ void _CornerVC_Print(void* cornerVC, Str
 }
 
 
-void* _CornerVC_Copy( void* cornerVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
+void* _CornerVC_Copy( const void* cornerVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
    CornerVC*       self = (CornerVC*)cornerVC;
    CornerVC*       newCornerVC;
    PtrMap*         map = ptrMap;
@@ -404,7 +404,7 @@ void* _CornerVC_Copy( void* cornerVC, vo
    if( deep ) {
       newCornerVC->_mesh = (Mesh*)Stg_Class_Copy( self->_mesh, NULL, deep, nameExt, map );
 		
-      if( (newCornerVC->_entryTbl = PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
+      if( (newCornerVC->_entryTbl = (CornerVC_Entry*)PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
 	 newCornerVC->_entryTbl = Memory_Alloc_Array( CornerVC_Entry, newCornerVC->_entryCount, "CornerVC->_entryTbl");
 	 memcpy( newCornerVC->_entryTbl, self->_entryTbl, sizeof(CornerVC_Entry) * newCornerVC->_entryCount );
 	 PtrMap_Append( map, newCornerVC->_entryTbl, self->_entryTbl );
diff -r e534f234897d -r fecc51eb5f13 Utils/src/CornerVC.h
--- a/Utils/src/CornerVC.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/CornerVC.h	Wed May 11 13:27:02 2011 -0700
@@ -42,7 +42,7 @@
 
 	extern const Type CornerVC_Type;
 
-	extern const char* CornerVC_CornerEnumToStr[CornerVC_Corner_Size];
+	extern Name CornerVC_CornerEnumToStr[CornerVC_Corner_Size];
 	
 	#define __CornerVC_Entry \
 		Name							varName; \
@@ -120,7 +120,7 @@
 	#define CornerVC_Copy( self ) \
 		(VariableCondition*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	
-	void* _CornerVC_Copy( void* cornerVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	void* _CornerVC_Copy( const void* cornerVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
 	
 	void _CornerVC_Build(  void* cornerVC, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/src/DofLayout.c
--- a/Utils/src/DofLayout.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/DofLayout.c	Wed May 11 13:27:02 2011 -0700
@@ -163,7 +163,7 @@ void _DofLayout_Print(void* dofLayout, S
 }
 
 
-void* _DofLayout_Copy( void* dofLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _DofLayout_Copy( const void* dofLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	DofLayout*	self = (DofLayout*)dofLayout;
 	DofLayout*	newDofLayout;
 	PtrMap*		map = ptrMap;
@@ -181,7 +181,7 @@ void* _DofLayout_Copy( void* dofLayout, 
 	newDofLayout->_totalVarCount = self->_totalVarCount;
 	
 	if( deep ) {
-		if( (newDofLayout->_variableEnabledSets = PtrMap_Find( map, self->_variableEnabledSets )) == NULL && self->_variableEnabledSets ) {
+          if( (newDofLayout->_variableEnabledSets = (IndexSet**)PtrMap_Find( map, self->_variableEnabledSets )) == NULL && self->_variableEnabledSets ) {
 			Index	set_I;
 			
 			newDofLayout->_variableEnabledSets = Memory_Alloc_Array( IndexSet*, newDofLayout->_totalVarCount, "DofLayout->_variableEnabledSets" );
@@ -191,19 +191,19 @@ void* _DofLayout_Copy( void* dofLayout, 
 			PtrMap_Append( map, self->_variableEnabledSets, newDofLayout->_variableEnabledSets );
 		}
 		
-		if( (newDofLayout->_varIndicesMapping = PtrMap_Find( map, self->_varIndicesMapping )) == NULL && self->_varIndicesMapping ) {
+          if( (newDofLayout->_varIndicesMapping = (Variable_Index*)PtrMap_Find( map, self->_varIndicesMapping )) == NULL && self->_varIndicesMapping ) {
 			newDofLayout->_varIndicesMapping = Memory_Alloc_Array( Variable_Index, newDofLayout->_totalVarCount, "DofLayout->_varIndicesMapping" );
 			memcpy( newDofLayout->_varIndicesMapping, self->_varIndicesMapping, sizeof(Variable_Index) * newDofLayout->_totalVarCount );
 			PtrMap_Append( map, self->_varIndicesMapping, newDofLayout->_varIndicesMapping );
 		}
 		
-		if( (newDofLayout->dofCounts = PtrMap_Find( map, self->dofCounts )) == NULL && self->dofCounts ) {
+          if( (newDofLayout->dofCounts = (Dof_Index*)PtrMap_Find( map, self->dofCounts )) == NULL && self->dofCounts ) {
 			newDofLayout->dofCounts = Memory_Alloc_Array( Index, newDofLayout->_numItemsInLayout, "DofLayout->dofCounts" );
 			memcpy( newDofLayout->dofCounts, self->dofCounts, sizeof(Index) * newDofLayout->_numItemsInLayout );
 			PtrMap_Append( map, self->dofCounts, newDofLayout->dofCounts );
 		}
 		
-		if( (newDofLayout->varIndices = PtrMap_Find( map, self->varIndices )) == NULL && self->varIndices ) {
+          if( (newDofLayout->varIndices = (Variable_Index**)PtrMap_Find( map, self->varIndices )) == NULL && self->varIndices ) {
 			Index	idx_I;
 			
 			newDofLayout->varIndices = Memory_Alloc_2DComplex( Variable_Index, newDofLayout->_numItemsInLayout, self->dofCounts, "DofLayout->varIndices" );
@@ -275,7 +275,7 @@ void _DofLayout_AssignFromXML( void* dof
 		}
 	}
 	
-	_DofLayout_Init( self, context, variableRegister, 0, baseVariableCount, baseVariableList, mesh );
+	_DofLayout_Init( self, context, (Variable_Register*)variableRegister, 0, baseVariableCount, baseVariableList, mesh );
 }
 
 void _DofLayout_Build( void* dofLayout, void* data ) {
diff -r e534f234897d -r fecc51eb5f13 Utils/src/DofLayout.h
--- a/Utils/src/DofLayout.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/DofLayout.h	Wed May 11 13:27:02 2011 -0700
@@ -136,7 +136,7 @@
 	#define DofLayout_DeepCopy( self ) \
 		(DofLayout*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
 	
-	void* _DofLayout_Copy( void* dofLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _DofLayout_Copy( const void* dofLayout, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/** Stg_Component_AssignFromXML() implementation */
 	void _DofLayout_AssignFromXML( void* dofLayout, Stg_ComponentFactory* cf, void* data );
diff -r e534f234897d -r fecc51eb5f13 Utils/src/FieldVariable.c
--- a/Utils/src/FieldVariable.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/FieldVariable.c	Wed May 11 13:27:02 2011 -0700
@@ -45,7 +45,7 @@
 
 const Type FieldVariable_Type = "FieldVariable";
 
-const char* InterpolationResultToStringMap[4] = { "OTHER_PROC", "LOCAL", "SHADOW", "OUTSIDE_GLOBAL" };
+Name InterpolationResultToStringMap[4] = { "OTHER_PROC", "LOCAL", "SHADOW", "OUTSIDE_GLOBAL" };
 
 FieldVariable* FieldVariable_New(		
 	Name													name,
@@ -160,14 +160,14 @@ void _FieldVariable_Init(
 
 	if (self != NULL && fV_Register != NULL) {	
 	   /* Prevent the same field from being added more than once */
-	   if( NamedObject_Register_GetIndex( fV_Register, self->name ) == -1 )
+          if( NamedObject_Register_GetIndex( fV_Register, self->name ) == (Index)(-1) )
 	      FieldVariable_Register_Add( fV_Register, self );
 	}	
 
 	self->extensionMgr = ExtensionManager_New_OfExistingObject( self->name, self );
 }
 
-void* _FieldVariable_Copy( void* fieldVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _FieldVariable_Copy( const void* fieldVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	FieldVariable*	self = (FieldVariable*)fieldVariable;
 	FieldVariable*	newFieldVariable;
 	PtrMap*			map = ptrMap;
@@ -178,7 +178,7 @@ void* _FieldVariable_Copy( void* fieldVa
 		ownMap = True;
 	}
 	
-	newFieldVariable = _Stg_Component_Copy( self, dest, deep, nameExt, map );
+	newFieldVariable = (FieldVariable*)_Stg_Component_Copy( self, dest, deep, nameExt, map );
 	
 	newFieldVariable->_interpolateValueAt        = self->_interpolateValueAt;
 	newFieldVariable->_getMinAndMaxLocalCoords   = self->_getMinAndMaxLocalCoords;
@@ -190,7 +190,7 @@ void* _FieldVariable_Copy( void* fieldVa
 	newFieldVariable->communicator               = self->communicator;
 	newFieldVariable->fieldVariable_Register     =  self->fieldVariable_Register;
 
-	newFieldVariable->extensionMgr               = Stg_Class_Copy( self->extensionMgr, NULL, deep, nameExt, map );
+	newFieldVariable->extensionMgr               = (ExtensionManager*)Stg_Class_Copy( self->extensionMgr, NULL, deep, nameExt, map );
 	
 	if( ownMap ) {
 		Stg_Class_Delete( map );
diff -r e534f234897d -r fecc51eb5f13 Utils/src/FieldVariable.h
--- a/Utils/src/FieldVariable.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/FieldVariable.h	Wed May 11 13:27:02 2011 -0700
@@ -72,7 +72,7 @@
 	} InterpolationResult;
 	
 	/** Mapping to convert an interpolation result to a string for debug purposes */
-	extern const char* InterpolationResultToStringMap[4];
+	extern Name InterpolationResultToStringMap[4];
 	
 	typedef InterpolationResult	(FieldVariable_InterpolateValueAtFunction) ( void* fieldVariable, Coord coord, double* value );
 	typedef double	(FieldVariable_GetValueFunction) ( void* fieldVariable );
@@ -169,7 +169,7 @@
 	void _FieldVariable_Initialise( void* fieldVariable, void* data ) ;
 	
 	/* Copy */
-	void* _FieldVariable_Copy( void* fieldVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _FieldVariable_Copy( const void* fieldVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/** Interface to determine the value of the field at a specific co-ordinate in space.
 	Return status determines whether operation was successful - i.e. whether the given
diff -r e534f234897d -r fecc51eb5f13 Utils/src/InnerWallVC.c
--- a/Utils/src/InnerWallVC.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/InnerWallVC.c	Wed May 11 13:27:02 2011 -0700
@@ -46,7 +46,7 @@ const Type InnerWallVC_Type = "InnerWall
 const Type InnerWallVC_Type = "InnerWallVC";
 const Name defaultInnerWallVCName = "defaultInnerWallVCName";
 
-const char* InnerWallVC_InnerWallEnumToStr[InnerWallVC_InnerWall_Size] = {
+Name InnerWallVC_InnerWallEnumToStr[InnerWallVC_InnerWall_Size] = {
 	"back",
 	"left",
 	"bottom",
@@ -386,7 +386,7 @@ void _InnerWallVC_Print(void* innerWallV
 }
 
 
-void* _InnerWallVC_Copy( void* innerWallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
+void* _InnerWallVC_Copy( const void* innerWallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
 	InnerWallVC*		self = (InnerWallVC*)innerWallVC;
 	InnerWallVC*		newInnerWallVC;
 	PtrMap*		map = ptrMap;
@@ -406,7 +406,7 @@ void* _InnerWallVC_Copy( void* innerWall
 	if( deep ) {
 		newInnerWallVC->_mesh = (Mesh*)Stg_Class_Copy( self->_mesh, NULL, deep, nameExt, map );
 		
-		if( (newInnerWallVC->_entryTbl = PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
+		if( (newInnerWallVC->_entryTbl = (InnerWallVC_Entry*)PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
 			newInnerWallVC->_entryTbl = Memory_Alloc_Array( InnerWallVC_Entry, newInnerWallVC->_entryCount, "InnerWallVC->_entryTbl");
 			memcpy( newInnerWallVC->_entryTbl, self->_entryTbl, sizeof(InnerWallVC_Entry) * newInnerWallVC->_entryCount );
 			PtrMap_Append( map, newInnerWallVC->_entryTbl, self->_entryTbl );
diff -r e534f234897d -r fecc51eb5f13 Utils/src/InnerWallVC.h
--- a/Utils/src/InnerWallVC.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/InnerWallVC.h	Wed May 11 13:27:02 2011 -0700
@@ -42,7 +42,7 @@
 
 	extern const Type InnerWallVC_Type;
 	
-	extern const char* InnerWallVC_InnerWallEnumToStr[InnerWallVC_InnerWall_Size];
+	extern Name InnerWallVC_InnerWallEnumToStr[InnerWallVC_InnerWall_Size];
 	
 	#define __InnerWallVC_Entry \
 		Name				varName; \
@@ -119,7 +119,7 @@
 	#define InnerWallVC_Copy( self ) \
 		(VariableCondition*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	
-	void* _InnerWallVC_Copy( void* innerWallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	void* _InnerWallVC_Copy( const void* innerWallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
 	
 	void _InnerWallVC_Build(  void* innerWallVC, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/src/LinearRegression.c
--- a/Utils/src/LinearRegression.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/LinearRegression.c	Wed May 11 13:27:02 2011 -0700
@@ -85,11 +85,11 @@ void _LinearRegression_Print( void* _lin
 	Journal_PrintValue( stream, self->correlationCoefficient );
 }
 
-void* _LinearRegression_Copy( void* linearRegression, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _LinearRegression_Copy( const void* linearRegression, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	LinearRegression*	self = (LinearRegression*)linearRegression;
 	LinearRegression*	newLinearRegression;
 	
-	newLinearRegression = _Stg_Class_Copy( self, dest, deep, nameExt, ptrMap );
+	newLinearRegression = (LinearRegression*)_Stg_Class_Copy( self, dest, deep, nameExt, ptrMap );
 				
 	return (void*)newLinearRegression;
 }
diff -r e534f234897d -r fecc51eb5f13 Utils/src/LinearRegression.h
--- a/Utils/src/LinearRegression.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/LinearRegression.h	Wed May 11 13:27:02 2011 -0700
@@ -99,7 +99,7 @@
 
 	void _LinearRegression_Delete( void* linearRegression ) ;
 	void _LinearRegression_Print( void* _linearRegression, Stream* stream ) ;
-	void* _LinearRegression_Copy( void* linearRegression, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) ;
+	void* _LinearRegression_Copy( const void* linearRegression, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) ;
 
 	/* Based on least squares proceedure described in
 	 * Eric W. Weisstein. "Least Squares Fitting." From MathWorld--A Wolfram Web Resource.
diff -r e534f234897d -r fecc51eb5f13 Utils/src/MeshBoundaryShape.c
--- a/Utils/src/MeshBoundaryShape.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/MeshBoundaryShape.c	Wed May 11 13:27:02 2011 -0700
@@ -71,7 +71,7 @@ MeshBoundaryShape* MeshBoundaryShape_New
 	/* Variables that are set to ZERO are variables that will be set either by the current _New function or another parent _New function further up the hierachy */
 	AllocationType  nameAllocationType = NON_GLOBAL /* default value NON_GLOBAL */;
 
-   return (void*) _MeshBoundaryShape_New(  MESHBOUNDARYSHAPE_PASSARGS  );
+   return _MeshBoundaryShape_New(  MESHBOUNDARYSHAPE_PASSARGS  );
 }
 
 MeshBoundaryShape* _MeshBoundaryShape_New(  MESHBOUNDARYSHAPE_DEFARGS  ) {
diff -r e534f234897d -r fecc51eb5f13 Utils/src/MeshShapeVC.c
--- a/Utils/src/MeshShapeVC.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/MeshShapeVC.c	Wed May 11 13:27:02 2011 -0700
@@ -146,7 +146,7 @@ void _MeshShapeVC_Destroy( void* variabl
 		Memory_Free(self->_entryTbl);
 
 	if ( self->shapeName )
-		Memory_Free( self->shapeName );
+          Memory_Free( self->shapeName );
 	
 	/* Stg_Class_Delete parent */
 	_VariableCondition_Destroy( self, data );
@@ -230,7 +230,7 @@ void _MeshShapeVC_Print(void* variableCo
 }
 
 
-void* _MeshShapeVC_Copy( void* variableCondition, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
+void* _MeshShapeVC_Copy( const void* variableCondition, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
 	MeshShapeVC*        self           = (MeshShapeVC*)variableCondition;
 	MeshShapeVC*        newMeshShapeVC;
 	PtrMap*         map            = ptrMap;
@@ -250,7 +250,7 @@ void* _MeshShapeVC_Copy( void* variableC
 	if( deep ) {
 		newMeshShapeVC->_mesh = (Mesh*)Stg_Class_Copy( self->_mesh, NULL, deep, nameExt, map );
 		
-		if( (newMeshShapeVC->_entryTbl = PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
+		if( (newMeshShapeVC->_entryTbl = (MeshShapeVC_Entry*)PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
 			newMeshShapeVC->_entryTbl = Memory_Alloc_Array( MeshShapeVC_Entry, newMeshShapeVC->_entryCount, "MeshShapeVC->_entryTbl");
 			memcpy( newMeshShapeVC->_entryTbl, self->_entryTbl, sizeof(MeshShapeVC_Entry) * newMeshShapeVC->_entryCount );
 			PtrMap_Append( map, newMeshShapeVC->_entryTbl, self->_entryTbl );
diff -r e534f234897d -r fecc51eb5f13 Utils/src/MeshShapeVC.h
--- a/Utils/src/MeshShapeVC.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/MeshShapeVC.h	Wed May 11 13:27:02 2011 -0700
@@ -59,7 +59,7 @@
 		MeshShapeVC_Entry*		_entryTbl;            \
 		Mesh*							_mesh;                \
 		Stg_Shape*					_shape;               \
-		Name							shapeName;
+		char*							shapeName;
 
 	struct MeshShapeVC { __MeshShapeVC };
 
@@ -103,7 +103,7 @@
 
 	void _MeshShapeVC_Print( void* shapeVC, Stream* stream );
 
-	void* _MeshShapeVC_Copy( void* shapeVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	void* _MeshShapeVC_Copy( const void* shapeVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
 
 	void _MeshShapeVC_Destroy( void* shapeVC, void* data);
 
diff -r e534f234897d -r fecc51eb5f13 Utils/src/Operator.c
--- a/Utils/src/Operator.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/Operator.c	Wed May 11 13:27:02 2011 -0700
@@ -86,36 +86,36 @@ Operator* _Operator_New(  OPERATOR_DEFAR
 }
 
 
-void _Operator_Delete(void* operator) {
-	Operator* self = (Operator*) operator;
+void _Operator_Delete(void* op) {
+	Operator* self = (Operator*) op;
 	
 	/* Stg_Class_Delete parent class */
 	_Stg_Class_Delete( self );
 }
 
-void _Operator_Print(void* operator, Stream* stream) {
+void _Operator_Print(void* op, Stream* stream) {
   /*Operator* self = (Operator*) operator; */
 
 	abort();
 }
 
-void* _Operator_Copy( void* operator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _Operator_Copy( const void* op, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
   /*Operator* self = (Operator*) operator; */
 	abort();
 }
 
 
 /* Carry Out Operators */
-void Operator_CarryOutUnaryOperation( void* operator, double* operand0, double* result ) {
-	Operator* self            = (Operator*) operator;
+void Operator_CarryOutUnaryOperation( void* op, double* operand0, double* result ) {
+	Operator* self            = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 			
 	(*(Operator_CarryOutUnaryOperationFunction*) (self->_carryOut))( self, operand0, result );
 }
 
-void Operator_CarryOutBinaryOperation( void* operator, double* operand0, double* operand1, double* result ) {
-	Operator* self            = (Operator*) operator;
+void Operator_CarryOutBinaryOperation( void* op, double* operand0, double* operand1, double* result ) {
+	Operator* self            = (Operator*) op;
 
 	Operator_FirewallBinary( self );
 
@@ -128,8 +128,8 @@ void Operator_CarryOutBinaryOperation( v
 #define SQUARE_VECTOR3D( vector ) \
 	( vector[0] * vector[0] + vector[1] * vector[1] + vector[2] * vector[2] )
 
-void Operator_VectorSquare( void* operator, double* operand0, double* result ) {
-	Operator* self            = (Operator*) operator;
+void Operator_VectorSquare( void* op, double* operand0, double* result ) {
+	Operator* self            = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -147,8 +147,8 @@ void Operator_VectorSquare( void* operat
 	}
 }
 
-void Operator_Magnitude( void* operator, double* operand0, double* result ) {
-	Operator* self            = (Operator*) operator;
+void Operator_Magnitude( void* op, double* operand0, double* result ) {
+	Operator* self            = (Operator*) op;
 	Index     val_I;
 
 	Operator_FirewallUnary( self );
@@ -176,16 +176,16 @@ void Operator_Magnitude( void* operator,
 	}
 }
 
-void Operator_TensorSymmetricPart( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_TensorSymmetricPart( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	
 	TensorArray_GetSymmetricPart( operand0, self->dim, result );
 }
 
-void Operator_SymmetricTensor_Invariant( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_SymmetricTensor_Invariant( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -193,16 +193,16 @@ void Operator_SymmetricTensor_Invariant(
 	*result = SymmetricTensor_2ndInvariant( operand0, self->dim );
 }
 
-void Operator_TensorAntisymmetricPart( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_TensorAntisymmetricPart( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 		
 	TensorArray_GetAntisymmetricPart( operand0, self->dim, result );
 }
 
-void Operator_SymmetricTensor_GetNegAverageTrace( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_SymmetricTensor_GetNegAverageTrace( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 	
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -212,8 +212,8 @@ void Operator_SymmetricTensor_GetNegAver
 	*result = -1.0 * (*result) / self->dim ;
 }
 
-void Operator_SymmetricTensor_MakeDeviatoric( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_SymmetricTensor_MakeDeviatoric( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 	double meanStress;
 	
 	Operator_FirewallUnary( self );
@@ -236,8 +236,8 @@ void Operator_SymmetricTensor_MakeDeviat
 	}
 }
 
-void Operator_Tensor_GetNegAverageTrace( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_Tensor_GetNegAverageTrace( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 	
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -248,8 +248,8 @@ void Operator_Tensor_GetNegAverageTrace(
 }
 
 
-void Operator_Scalar_Negative( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_Scalar_Negative( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 	
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -258,8 +258,8 @@ void Operator_Scalar_Negative( void* ope
 }
 	
 
-void Operator_TakeFirstComponent( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_TakeFirstComponent( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -267,8 +267,8 @@ void Operator_TakeFirstComponent( void* 
 
 	*result = operand0[0];
 }
-void Operator_TakeSecondComponent( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_TakeSecondComponent( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -276,8 +276,8 @@ void Operator_TakeSecondComponent( void*
 
 	*result = operand0[1];
 }
-void Operator_TakeThirdComponent( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_TakeThirdComponent( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -285,8 +285,8 @@ void Operator_TakeThirdComponent( void* 
 
 	*result = operand0[2];
 }
-void Operator_TakeFourthComponent( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_TakeFourthComponent( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 	
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -294,8 +294,8 @@ void Operator_TakeFourthComponent( void*
 
 	*result = operand0[3];
 }
-void Operator_TakeFifthComponent( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_TakeFifthComponent( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -305,8 +305,8 @@ void Operator_TakeFifthComponent( void* 
 }
 
 /** Binary Operator Functions */
-void Operator_Addition( void* operator, double* operand0, double* operand1, double* result){
-	Operator* self = (Operator*) operator;
+void Operator_Addition( void* op, double* operand0, double* operand1, double* result){
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallBinary( self );
 	Operator_FirewallEqualOperandAndResultDofs( self );
@@ -332,8 +332,8 @@ void Operator_Addition( void* operator, 
 	}
 }
 
-void Operator_Subtraction( void* operator, double* operand0, double* operand1, double* result){
-	Operator* self = (Operator*) operator;
+void Operator_Subtraction( void* op, double* operand0, double* operand1, double* result){
+	Operator* self = (Operator*) op;
 	
 	Operator_FirewallBinary( self );
 	Operator_FirewallEqualOperandAndResultDofs( self );
@@ -359,8 +359,8 @@ void Operator_Subtraction( void* operato
 	}
 }
 
-void Operator_ScalarMultiplication( void* operator, double* operand0, double* operand1, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_ScalarMultiplication( void* op, double* operand0, double* operand1, double* result ) {
+	Operator* self = (Operator*) op;
 	
 	Operator_FirewallBinary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -370,8 +370,8 @@ void Operator_ScalarMultiplication( void
 }
 
 
-void Operator_ScalarDivision( void* operator, double* operand0, double* operand1, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_ScalarDivision( void* op, double* operand0, double* operand1, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallBinary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -380,8 +380,8 @@ void Operator_ScalarDivision( void* oper
 	*result = (*operand0) / (*operand1);
 }
 
-void Operator_VectorScale( void* operator, double* operand0, double* operand1, double* result){
-	Operator* self = (Operator*) operator;
+void Operator_VectorScale( void* op, double* operand0, double* operand1, double* result){
+	Operator* self = (Operator*) op;
 	
 	Operator_FirewallBinary( self );
 
@@ -400,8 +400,8 @@ void Operator_VectorScale( void* operato
 	}
 }
 
-void Operator_Rounding( void* operator, double* operand0, double* result ) {
-	Operator*     self = (Operator*) operator;
+void Operator_Rounding( void* op, double* operand0, double* result ) {
+	Operator*     self = (Operator*) op;
 	/* TODO: read this in from somewhere instead of just hard-coding it.... */
 	unsigned int  nSigFigsToRoundTo = 6;
 	Index         val_I;
@@ -414,8 +414,8 @@ void Operator_Rounding( void* operator, 
 }
 
 
-void Operator_HorizontalDivergence( void* operator, double* velocityGradient, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_HorizontalDivergence( void* op, double* velocityGradient, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );
@@ -423,8 +423,8 @@ void Operator_HorizontalDivergence( void
 	*result = velocityGradient[0] + velocityGradient[8];
 }
 
-void Operator_VerticalVorticity( void* operator, double* velocityGradient, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_VerticalVorticity( void* op, double* velocityGradient, double* result ) {
+	Operator* self = (Operator*) op;
 
 	Operator_FirewallUnary( self );
 	Operator_FirewallResultDofs( self, 1 );	
@@ -432,16 +432,16 @@ void Operator_VerticalVorticity( void* o
 	*result = velocityGradient[2] - velocityGradient[6];
 }
 
-void Operator_Divergence( void* operator, double* velocityGradient, double* result ) {
-	Operator* self = (Operator*) operator;
+void Operator_Divergence( void* op, double* velocityGradient, double* result ) {
+	Operator* self = (Operator*) op;
 	
 	Operator_FirewallUnary( self );
 
 	TensorArray_GetTrace( velocityGradient, self->dim, result );
 }
 
-void Operator_SymmetricTensorInnerProduct( void* operator, double* operand0, double* operand1, double* result ) {
-	Operator* self = (Operator*)operator;
+void Operator_SymmetricTensorInnerProduct( void* op, double* operand0, double* operand1, double* result ) {
+	Operator* self = (Operator*)op;
 	
 	Operator_FirewallBinary( self );
 
@@ -456,8 +456,8 @@ void Operator_SymmetricTensorInnerProduc
 	}
 }
 
-void Operator_TensorInvariant( void* operator, double* operand0, double* result ) {
-	Operator* self = (Operator*)operator;
+void Operator_TensorInvariant( void* op, double* operand0, double* result ) {
+	Operator* self = (Operator*)op;
 
 	Operator_FirewallUnary( self );
 
@@ -465,8 +465,8 @@ void Operator_TensorInvariant( void* ope
 	*result = TensorArray_2ndInvariant( operand0, self->dim );
 }
 
-void Operator_ScalarByVectorMultiplication( void* operator, double* operand0, double* operand1, double* result ) {
-	Operator*     self = (Operator*) operator;
+void Operator_ScalarByVectorMultiplication( void* op, double* operand0, double* operand1, double* result ) {
+	Operator*     self = (Operator*) op;
 	Index         val_I;
 
 	Operator_FirewallUnary( self );
@@ -489,122 +489,122 @@ Operator* Operator_NewFromName(
 	if ( ! strcasecmp( name, "VectorSquare" ) ) {
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_VectorSquare;
+		_carryOut = (Func_Ptr)Operator_VectorSquare;
 	}
 	else if ( ! strcasecmp( name, "Magnitude" ) ) {
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_Magnitude;
+		_carryOut = (Func_Ptr)Operator_Magnitude;
 	}
 	else if ( ! strcasecmp( name, "TensorSymmetricPart" ) ) {
 		resultDofs = StGermain_nSymmetricTensorVectorComponents( dim );
 		numberOfOperands = 1;
-		_carryOut = Operator_TensorSymmetricPart;
+		_carryOut = (Func_Ptr)Operator_TensorSymmetricPart;
 	}
 	else if ( ! strcasecmp( name, "TensorAntisymmetricPart" ) ) { 
 		resultDofs = dim * dim;
 		numberOfOperands = 1;
-		_carryOut = Operator_TensorAntisymmetricPart;
+		_carryOut = (Func_Ptr)Operator_TensorAntisymmetricPart;
 	}
 	else if ( ! strcasecmp( name, "SymmetricTensor_Invariant" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_SymmetricTensor_Invariant;
+		_carryOut = (Func_Ptr)Operator_SymmetricTensor_Invariant;
 	}
 	else if ( ! strcasecmp( name, "SymmetricTensor_NegAverageTrace" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_SymmetricTensor_GetNegAverageTrace;
+		_carryOut = (Func_Ptr)Operator_SymmetricTensor_GetNegAverageTrace;
 	}
 	else if ( ! strcasecmp( name, "Scalar_Negative" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_Scalar_Negative;
+		_carryOut = (Func_Ptr)Operator_Scalar_Negative;
 	}
 	else if ( ! strcasecmp( name, "Tensor_NegAverageTrace" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_Tensor_GetNegAverageTrace;
+		_carryOut = (Func_Ptr)Operator_Tensor_GetNegAverageTrace;
 	}
 	else if ( ! strcasecmp( name, "SymmetricTensor_MakeDeviatoric" ) ){ 
 		resultDofs = operandDofs;
 		numberOfOperands = 1;
-		_carryOut = Operator_SymmetricTensor_MakeDeviatoric;
+		_carryOut = (Func_Ptr)Operator_SymmetricTensor_MakeDeviatoric;
 	}
 	else if ( ! strcasecmp( name, "TakeFirstComponent" ) ) {
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_TakeFirstComponent;
+		_carryOut = (Func_Ptr)Operator_TakeFirstComponent;
 	}
 	else if ( ! strcasecmp( name, "TakeSecondComponent" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_TakeSecondComponent;
+		_carryOut = (Func_Ptr)Operator_TakeSecondComponent;
 	}
 	else if ( ! strcasecmp( name, "TakeThirdComponent" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_TakeThirdComponent;
+		_carryOut = (Func_Ptr)Operator_TakeThirdComponent;
 	}
 	else if ( ! strcasecmp( name, "Addition" ) ) {
 		resultDofs = operandDofs;
 		numberOfOperands = 2;
-		_carryOut = Operator_Addition;
+		_carryOut = (Func_Ptr)Operator_Addition;
 	}
 	else if ( ! strcasecmp( name, "Subtraction" ) ){ 
 		resultDofs = operandDofs;
 		numberOfOperands = 2;
-		_carryOut = Operator_Subtraction;
+		_carryOut = (Func_Ptr)Operator_Subtraction;
 	}
 	else if ( ! strcasecmp( name, "ScalarMultiplication" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 2;
-		_carryOut = Operator_ScalarMultiplication;
+		_carryOut = (Func_Ptr)Operator_ScalarMultiplication;
 	}
 	else if ( ! strcasecmp( name, "ScalarDivision" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 2;
-		_carryOut = Operator_ScalarDivision;
+		_carryOut = (Func_Ptr)Operator_ScalarDivision;
 	}
 	else if ( ! strcasecmp( name, "VectorScale" ) ){ 
 		resultDofs = dim;
 		numberOfOperands = 2;
-		_carryOut = Operator_VectorScale;
+		_carryOut = (Func_Ptr)Operator_VectorScale;
 	} 
 	else if ( ! strcasecmp( name, "Rounding" ) ){ 
 		resultDofs = operandDofs;
 		numberOfOperands = 1;
-		_carryOut = Operator_Rounding;
+		_carryOut = (Func_Ptr)Operator_Rounding;
 	} 
 	else if ( ! strcasecmp( name, "TensorInnerProduct" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 2;
-		_carryOut = Operator_SymmetricTensorInnerProduct;
+		_carryOut = (Func_Ptr)Operator_SymmetricTensorInnerProduct;
 	}
 	else if ( ! strcasecmp( name, "TensorInvariant" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_TensorInvariant;
+		_carryOut = (Func_Ptr)Operator_TensorInvariant;
 	}
 	else if ( ! strcasecmp( name, "HorizontalDivergence" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_HorizontalDivergence;
+		_carryOut = (Func_Ptr)Operator_HorizontalDivergence;
 	}
 	else if ( ! strcasecmp( name, "VerticalVorticity" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_VerticalVorticity;
+		_carryOut = (Func_Ptr)Operator_VerticalVorticity;
 	}
 	else if ( ! strcasecmp( name, "Divergence" ) ){ 
 		resultDofs = 1;
 		numberOfOperands = 1;
-		_carryOut = Operator_Divergence;
+		_carryOut = (Func_Ptr)Operator_Divergence;
 	}
 	else if ( ! strcasecmp( name, "ScalarByVectorMultiplication" ) ){
 		resultDofs = dim;
 		numberOfOperands = 2;
-		_carryOut = Operator_ScalarByVectorMultiplication;
+		_carryOut = (Func_Ptr)Operator_ScalarByVectorMultiplication;
 	}
 	else {
 		resultDofs = 0;
diff -r e534f234897d -r fecc51eb5f13 Utils/src/Operator.h
--- a/Utils/src/Operator.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/Operator.h	Wed May 11 13:27:02 2011 -0700
@@ -86,7 +86,7 @@ typedef void (Operator_CarryOutBinaryOpe
 
 	void _Operator_Delete(void* operatorObject) ;
 	void _Operator_Print(void* operatorObject, Stream* stream) ;
-	void* _Operator_Copy( void* operatorObject, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) ;
+	void* _Operator_Copy( const void* operatorObject, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) ;
 
 	/* Carry Out Wrapper functions */
 	void Operator_CarryOutUnaryOperation( void* operatorObject, double* operand0, double* result ) ;
diff -r e534f234897d -r fecc51eb5f13 Utils/src/OperatorFieldVariable.c
--- a/Utils/src/OperatorFieldVariable.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/OperatorFieldVariable.c	Wed May 11 13:27:02 2011 -0700
@@ -178,11 +178,11 @@ void _OperatorFieldVariable_Init( void* 
 	}
 }
 
-void* _OperatorFieldVariable_Copy( void* fieldVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _OperatorFieldVariable_Copy( const void* fieldVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	OperatorFieldVariable*	self = (OperatorFieldVariable*)fieldVariable;
 	OperatorFieldVariable*	newOperatorFieldVariable;
 	
-	newOperatorFieldVariable = _FieldVariable_Copy( self, dest, deep, nameExt, ptrMap );
+	newOperatorFieldVariable = (OperatorFieldVariable*)_FieldVariable_Copy( self, dest, deep, nameExt, ptrMap );
 	newOperatorFieldVariable->_operator = self->_operator;
 	newOperatorFieldVariable->fieldVariableCount = self->fieldVariableCount;
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/src/OperatorFieldVariable.h
--- a/Utils/src/OperatorFieldVariable.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/OperatorFieldVariable.h	Wed May 11 13:27:02 2011 -0700
@@ -93,7 +93,7 @@
 		Name				operatorName );
 	
 	/* Public Constructor */
-	OperatorFieldVariable* _OperatorFieldVariable_DefaultNew();
+	OperatorFieldVariable* _OperatorFieldVariable_DefaultNew(Name name);
 
 	OperatorFieldVariable* OperatorFieldVariable_New( 
 		Name													name,
@@ -127,7 +127,7 @@
 
 	void _OperatorFieldVariable_Print( void* _fieldVariable, Stream* stream ) ;
 
-	void* _OperatorFieldVariable_Copy( void* fieldVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) ;
+	void* _OperatorFieldVariable_Copy( const void* fieldVariable, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) ;
 
 	void _OperatorFieldVariable_AssignFromXML( void* fieldVariable, Stg_ComponentFactory* cf, void* data ) ;
 
diff -r e534f234897d -r fecc51eb5f13 Utils/src/RegularMeshUtils.c
--- a/Utils/src/RegularMeshUtils.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/RegularMeshUtils.c	Wed May 11 13:27:02 2011 -0700
@@ -861,7 +861,7 @@ IndexSet* RegularMeshUtils_CreateContact
    assert( Mesh_GetDimSize( mesh ) == 2 );
 
    grid = *Mesh_GetExtension( mesh, Grid**, "vertexGrid" );
-   nNodes = Mesh_GetDomainSize( mesh, 0 );
+   nNodes = Mesh_GetDomainSize( mesh, (MeshTopology_Dim)0 );
    set = IndexSet_New( nNodes );
 
 /*
@@ -875,7 +875,7 @@ IndexSet* RegularMeshUtils_CreateContact
    bottom = grid->sizes[1] - 1;
    top = grid->sizes[1] - 1;
    for( ii = 0; ii < nNodes; ii++ ) {
-      Grid_Lift( grid, Mesh_DomainToGlobal( mesh, 0, ii ), ijk );
+     Grid_Lift( grid, Mesh_DomainToGlobal( mesh, (MeshTopology_Dim)0, ii ), (unsigned*)ijk );
       if( ijk[0] >= left && ijk[0] <= right && ijk[1] >= bottom && ijk[1] <= top )
 	 IndexSet_Add( set, ii );
    }
@@ -895,7 +895,7 @@ IndexSet* RegularMeshUtils_CreateContact
    assert( Mesh_GetDimSize( mesh ) == 2 );
 
    grid = *Mesh_GetExtension( mesh, Grid**, "vertexGrid" );
-   nNodes = Mesh_GetDomainSize( mesh, 0 );
+   nNodes = Mesh_GetDomainSize( mesh, (MeshTopology_Dim)0 );
    set = IndexSet_New( nNodes );
 
 /*
@@ -909,10 +909,11 @@ IndexSet* RegularMeshUtils_CreateContact
    bottom = 0;
    top = inDepth;
    for( ii = 0; ii < nNodes; ii++ ) {
-      Grid_Lift( grid, Mesh_DomainToGlobal( mesh, 0, ii ), ijk );
-      if( ijk[0] >= left && ijk[0] <= right && ijk[1] >= bottom && ijk[1] <= top ) {
-	 IndexSet_Add( set, ii );
-      }
+     Grid_Lift(grid,Mesh_DomainToGlobal(mesh,(MeshTopology_Dim)0,ii ),
+               (unsigned*)ijk );
+     if( ijk[0] >= left && ijk[0] <= right && ijk[1] >= bottom && ijk[1] <= top ) {
+       IndexSet_Add( set, ii );
+     }
    }
 
    return set;
@@ -930,7 +931,7 @@ IndexSet* RegularMeshUtils_CreateContact
    assert( Mesh_GetDimSize( mesh ) == 2 );
 
    grid = *Mesh_GetExtension( mesh, Grid**, "vertexGrid" );
-   nNodes = Mesh_GetDomainSize( mesh, 0 );
+   nNodes = Mesh_GetDomainSize( mesh, (MeshTopology_Dim)0 );
    set = IndexSet_New( nNodes );
 
 /*
@@ -944,7 +945,8 @@ IndexSet* RegularMeshUtils_CreateContact
    bottom = lowDepth;
    top = grid->sizes[1] - 1 - uppDepth;
    for( ii = 0; ii < nNodes; ii++ ) {
-      Grid_Lift( grid, Mesh_DomainToGlobal( mesh, 0, ii ), ijk );
+     Grid_Lift( grid, Mesh_DomainToGlobal( mesh, (MeshTopology_Dim)0, ii ),
+                (unsigned*)ijk );
       if( ijk[0] >= left && ijk[0] <= right && ijk[1] >= bottom && ijk[1] <= top )
 	 IndexSet_Add( set, ii );
    }
@@ -964,7 +966,7 @@ IndexSet* RegularMeshUtils_CreateContact
    assert( Mesh_GetDimSize( mesh ) == 2 );
 
    grid = *Mesh_GetExtension( mesh, Grid**, "vertexGrid" );
-   nNodes = Mesh_GetDomainSize( mesh, 0 );
+   nNodes = Mesh_GetDomainSize( mesh, (MeshTopology_Dim)0 );
    set = IndexSet_New( nNodes );
 
 /*
@@ -978,7 +980,8 @@ IndexSet* RegularMeshUtils_CreateContact
    bottom = lowDepth;
    top = grid->sizes[1] - 1- uppDepth;
    for( ii = 0; ii < nNodes; ii++ ) {
-      Grid_Lift( grid, Mesh_DomainToGlobal( mesh, 0, ii ), ijk );
+     Grid_Lift( grid, Mesh_DomainToGlobal( mesh, (MeshTopology_Dim)0, ii ),
+                (unsigned*)ijk );
       if( ijk[0] >= left && ijk[0] <= right && ijk[1] >= bottom && ijk[1] <= top )
 	 IndexSet_Add( set, ii );
    }
@@ -1016,7 +1019,7 @@ Node_DomainIndex RegularMeshUtils_GetDia
 	Mesh_GetIncidence( mesh, Mesh_GetDimSize( mesh ), refElement_dI, MT_VERTEX, 
 			   inc );
 	currElementNodeCount = IArray_GetSize( inc );
-	currElementNodes = IArray_GetPtr( inc );
+	currElementNodes = (Node_DomainIndex*)IArray_GetPtr( inc );
 
 	/* Find index of reference node within reference element */
 	for( refNode_eI = 0; refNode_eI < currElementNodeCount; refNode_eI++ ) {
diff -r e534f234897d -r fecc51eb5f13 Utils/src/RegularRemesher.c
--- a/Utils/src/RegularRemesher.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/RegularRemesher.c	Wed May 11 13:27:02 2011 -0700
@@ -125,9 +125,9 @@ void _RegularRemesher_Remesh( void* _sel
    assert( self->mesh );
 
    mesh = self->mesh;
-   meshSync = Mesh_GetSync( mesh, 0 );
+   meshSync = Mesh_GetSync( mesh, (MeshTopology_Dim)0 );
    nDims = Mesh_GetDimSize( mesh );
-   nVerts = Mesh_GetLocalSize( mesh, 0 );
+   nVerts = Mesh_GetLocalSize( mesh, (MeshTopology_Dim)0 );
    vGrid = *Mesh_GetExtension( mesh, Grid**, "vertexGrid" );
    inds = Class_Array( self, int, nDims );
 
@@ -170,7 +170,7 @@ void _RegularRemesher_Remesh( void* _sel
             ind = Sync_DomainToGlobal( meshSync, v_i );
             Grid_Lift( vGrid, ind, (unsigned*)inds );
             center = inds[d_i];
-            if( center == 0 || center == vGrid->sizes[d_i] - 1 ) {
+            if( center == 0 || center == (int)(vGrid->sizes[d_i] - 1) ) {
 
                /* If we're inside the contact depth range, we need to make
                   sure the side coordinates are aligned. */
@@ -187,10 +187,10 @@ void _RegularRemesher_Remesh( void* _sel
 	       }
                if( inds[d_j] < gen->contactDepth[d_j][0] )
                   inds[d_j] = gen->contactDepth[d_j][0];
-               else if( inds[d_j] > vGrid->sizes[d_j] - gen->contactDepth[d_j][1] - 1 )
+               else if( inds[d_j] > (int)(vGrid->sizes[d_j] - gen->contactDepth[d_j][1] - 1 ))
                   inds[d_j] = vGrid->sizes[d_j] - gen->contactDepth[d_j][1] - 1;
                Mesh_GetVertex( mesh, v_i )[d_i] =
-                  Mesh_GetVertex( mesh, Grid_Project( vGrid, inds ) )[d_i];
+                 Mesh_GetVertex( mesh, Grid_Project( vGrid, (unsigned*)inds ) )[d_i];
             }
          }
       }
@@ -209,7 +209,7 @@ void _RegularRemesher_Remesh( void* _sel
 	 ind = Sync_DomainToGlobal( meshSync, v_i );
 	 Grid_Lift( vGrid, ind, (unsigned*)inds );
 	 center = inds[d_i];
-	 if( center == 0 || center == vGrid->sizes[d_i] - 1 )
+	 if( center == 0 || center == (int)(vGrid->sizes[d_i] - 1 ))
 	    continue;
 
 	 inds[d_i] = 0;
@@ -238,7 +238,7 @@ void _RegularRemesher_Remesh( void* _sel
                      gen->contactGeom[d_i];
                }
             }
-            else if( center >= vGrid->sizes[d_i] - gen->contactDepth[d_i][1] - 1 ) {
+            else if( center >= (int)(vGrid->sizes[d_i] - gen->contactDepth[d_i][1] - 1 )) {
                mesh->verts[v_i][d_i] = rightCrd;
                if( gen->contactDepth[d_i][1] ) {
                   mesh->verts[v_i][d_i] -=
@@ -311,13 +311,13 @@ void _RegularRemesher_Remesh( void* _sel
 
       inds[0] = vGrid->sizes[0] - 1;
       inds[1] = vGrid->sizes[1] - 1;
-      nodeIndex = Grid_Project( vGrid, inds );
+      nodeIndex = Grid_Project( vGrid, (unsigned*)inds );
       nodeVert = Mesh_GetVertex( mesh, nodeIndex );
       inds[0]--;
-      innerIndex = Grid_Project( vGrid, inds );
+      innerIndex = Grid_Project( vGrid, (unsigned*)inds );
       innerVert = Mesh_GetVertex( mesh, innerIndex );
       inds[0]--;
-      inner2Index = Grid_Project( vGrid, inds );
+      inner2Index = Grid_Project( vGrid, (unsigned*)inds );
       inner2Vert = Mesh_GetVertex( mesh, inner2Index );
 
 /*
@@ -464,7 +464,7 @@ void _RegularRemesher_Remesh( void* _sel
             MatSetValues( A, 1, &ii, 3, cols, matVals, ADD_VALUES );
 
          inds[0] = ii;
-         nodeIndex = Grid_Project( vGrid, inds );
+         nodeIndex = Grid_Project( vGrid, (unsigned*)inds );
          if( ii == 0 ) {
             rhs = vecVals[0] * Mesh_GetVertex( mesh, nodeIndex + 1 )[1] +
                vecVals[1] * Mesh_GetVertex( mesh, nodeIndex )[1] + 
@@ -493,8 +493,8 @@ void _RegularRemesher_Remesh( void* _sel
       KSPSolve( ksp, b, x );
 
       VecGetArray( x, &soln );
-      for( inds[0] = 0; inds[0] < vGrid->sizes[0]; inds[0]++ ) {
-         nodeIndex = Grid_Project( vGrid, inds );
+      for( inds[0] = 0; inds[0] < (int)(vGrid->sizes[0]); inds[0]++ ) {
+         nodeIndex = Grid_Project( vGrid, (unsigned*)inds );
          mesh->verts[nodeIndex][1] = soln[inds[0]];
       }
       VecRestoreArray( x, &soln );
@@ -570,12 +570,12 @@ void RegularRemesher_Build( void* _self 
 
    mesh = self->mesh;
    Stg_Component_Build( mesh, NULL, False );
-   meshSync = Mesh_GetSync( mesh, 0 );
+   meshSync = Mesh_GetSync( mesh, (MeshTopology_Dim)0 );
    meshDecomp = Sync_GetDecomp( meshSync );
    vGrid = *Mesh_GetExtension( mesh, Grid**, "vertexGrid" );
    nDims = Mesh_GetDimSize( mesh );
    self->nDims = nDims;
-   nVerts = Mesh_GetLocalSize( mesh, 0 );
+   nVerts = Mesh_GetLocalSize( mesh, (MeshTopology_Dim)0 );
    inds = Class_Array( self, int, nDims );
 
    if( !self->syncs ) {
@@ -613,7 +613,7 @@ void RegularRemesher_Build( void* _self 
 	    ind = Sync_DomainToGlobal( meshSync, v_i );
 	    Grid_Lift( vGrid, ind, (unsigned*)inds );
 	    if( (w_i == 0 && inds[d_i] == 0) || 
-		(w_i == 1 && inds[d_i] == vGrid->sizes[d_i] - 1) )
+		(w_i == 1 && inds[d_i] == (int)(vGrid->sizes[d_i] - 1)) )
 	    {
 	       ISet_Insert( wallSet, v_i );
 	    }
diff -r e534f234897d -r fecc51eb5f13 Utils/src/ShapeAdvector.c
--- a/Utils/src/ShapeAdvector.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/ShapeAdvector.c	Wed May 11 13:27:02 2011 -0700
@@ -149,7 +149,7 @@ void _ShapeAdvector_Print( void* shapeAd
 }
 
 
-void* _ShapeAdvector_Copy( void* shapeAdvector, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _ShapeAdvector_Copy( const void* shapeAdvector, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	ShapeAdvector*	self = (ShapeAdvector*)shapeAdvector;
 	ShapeAdvector*	newShapeAdvector;
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/src/ShapeAdvector.h
--- a/Utils/src/ShapeAdvector.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/ShapeAdvector.h	Wed May 11 13:27:02 2011 -0700
@@ -99,7 +99,7 @@
 	#define ShapeAdvector_DeepCopy( self ) \
 		(ShapeAdvector*) Stg_Class_Copy( self, NULL, True, NULL, NULL )
 
-	void* _ShapeAdvector_Copy( void* materialPoints, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _ShapeAdvector_Copy( const void* materialPoints, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	void* _ShapeAdvector_DefaultNew( Name name );
 
diff -r e534f234897d -r fecc51eb5f13 Utils/src/SobolGenerator.c
--- a/Utils/src/SobolGenerator.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/SobolGenerator.c	Wed May 11 13:27:02 2011 -0700
@@ -152,7 +152,7 @@ void _SobolGenerator_Print( void* sobolG
 	Stream_UnIndent( stream );
 }
 
-void* _SobolGenerator_Copy( void* sobolGenerator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _SobolGenerator_Copy( const void* sobolGenerator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	SobolGenerator*	self = (SobolGenerator*)sobolGenerator;
 	SobolGenerator*	newSobolGenerator;
 	
@@ -480,7 +480,7 @@ SobolGenerator* SobolGenerator_NewFromTa
 	
 	generatorCount++;
 	/* If we reach the end of the array of generators, restart from the first one - PatrickSunter, 3 August 2006 */
-	if ( generatorCount >= sizeof(SobolGenerator_PolynomialDegree)/sizeof(unsigned int) ) {
+	if ( generatorCount >= (int)(sizeof(SobolGenerator_PolynomialDegree)/sizeof(unsigned int))) {
 		generatorCount = 0;
 	}
 		
diff -r e534f234897d -r fecc51eb5f13 Utils/src/SobolGenerator.h
--- a/Utils/src/SobolGenerator.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/SobolGenerator.h	Wed May 11 13:27:02 2011 -0700
@@ -93,7 +93,7 @@
 	/** Stg_Class Virtual Functions */
 	void _SobolGenerator_Delete( void* sobolGenerator ) ;
 	void _SobolGenerator_Print( void* sobolGenerator, Stream* stream ) ;
-	void* _SobolGenerator_Copy( void* sobolGenerator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) ;
+	void* _SobolGenerator_Copy( const void* sobolGenerator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) ;
 	
 	/** +++ Private Functions +++ **/
 	Bit_Index _SobolGenerator_FindRightmostZeroBit( unsigned int number ) ;
diff -r e534f234897d -r fecc51eb5f13 Utils/src/TimeIntegrand.c
--- a/Utils/src/TimeIntegrand.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/TimeIntegrand.c	Wed May 11 13:27:02 2011 -0700
@@ -134,7 +134,7 @@ void _TimeIntegrand_Print( void* timeInt
 	Stream_UnIndent( stream );
 }
 
-void* _TimeIntegrand_Copy( void* timeIntegrand, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _TimeIntegrand_Copy( const void* timeIntegrand, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	TimeIntegrand*	self = (TimeIntegrand*)timeIntegrand;
 	TimeIntegrand*	newTimeIntegrand;
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/src/TimeIntegrand.h
--- a/Utils/src/TimeIntegrand.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/TimeIntegrand.h	Wed May 11 13:27:02 2011 -0700
@@ -108,7 +108,7 @@ void _TimeIntegrand_Init(
 		(TimeIntegrand*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define TimeIntegrand_DeepCopy( self ) \
 		(TimeIntegrand*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _TimeIntegrand_Copy( void* timeIntegrator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _TimeIntegrand_Copy( const void* timeIntegrator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Virtual Functions */
 	void* _TimeIntegrand_DefaultNew( Name name ) ;
diff -r e534f234897d -r fecc51eb5f13 Utils/src/TimeIntegrator.c
--- a/Utils/src/TimeIntegrator.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/TimeIntegrator.c	Wed May 11 13:27:02 2011 -0700
@@ -55,7 +55,7 @@ TimeIntegrator* TimeIntegrator_New(
 	EntryPoint_Register*	entryPoint_Register,
 	AbstractContext*		context )
 {
-	TimeIntegrator* self = _TimeIntegrator_DefaultNew( name );
+  TimeIntegrator* self = (TimeIntegrator*)_TimeIntegrator_DefaultNew( name );
 
 	self->isConstructed = True;
 	_TimeIntegrator_Init( self, order, simultaneous, entryPoint_Register, context );
@@ -118,8 +118,8 @@ void _TimeIntegrator_Init(
 	self->simultaneous = simultaneous;
 
 	/* Entry Point Stuff */
-	Stg_asprintf( &self->_setupEPName, "%s-Setup", self->name );
-	Stg_asprintf( &self->_finishEPName, "%s-Finish", self->name );
+	Stg_asprintf( (char**)(&self->_setupEPName), "%s-Setup", self->name );
+	Stg_asprintf( (char**)(&self->_finishEPName), "%s-Finish", self->name );
 	self->setupEP  = EntryPoint_New( self->_setupEPName,  EntryPoint_VoidPtr_CastType );
 	self->finishEP = EntryPoint_New( self->_finishEPName, EntryPoint_VoidPtr_CastType );
 
@@ -169,7 +169,7 @@ void _TimeIntegrator_Print( void* timeIn
 	Stream_UnIndent( stream );
 }
 
-void* _TimeIntegrator_Copy( void* timeIntegrator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
+void* _TimeIntegrator_Copy( const void* timeIntegrator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap ) {
 	TimeIntegrator*	self = (TimeIntegrator*)timeIntegrator;
 	TimeIntegrator*	newTimeIntegrator;
 	
@@ -536,14 +536,14 @@ void TimeIntegrator_Setup( void* timeInt
 	}		
 }
 
-void TimeIntegrator_AppendSetupEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, char* addedBy, void* data ) {
+void TimeIntegrator_AppendSetupEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, Name addedBy, void* data ) {
 	TimeIntegrator* self = (TimeIntegrator*)timeIntegrator;
 
 	EntryPoint_Append( self->setupEP, name, funcPtr, addedBy );
 	Stg_ObjectList_Append( self->setupData, data );
 }
 
-void TimeIntegrator_PrependSetupEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, char* addedBy, void* data ) {
+void TimeIntegrator_PrependSetupEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, Name addedBy, void* data ) {
 	TimeIntegrator* self = (TimeIntegrator*)timeIntegrator;
 
 	EntryPoint_Prepend( self->setupEP, name, funcPtr, addedBy );
@@ -568,14 +568,14 @@ void TimeIntegrator_Finalise( void* time
 	}
 }
 
-void TimeIntegrator_AppendFinishEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, char* addedBy, void* data ) {
+void TimeIntegrator_AppendFinishEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, Name addedBy, void* data ) {
 	TimeIntegrator*        self            = (TimeIntegrator*)timeIntegrator;
 
 	EntryPoint_Append( self->finishEP, name, funcPtr, addedBy );
 	Stg_ObjectList_Append( self->finishData, data );
 }
 
-void TimeIntegrator_PrependFinishEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, char* addedBy, void* data ) {
+void TimeIntegrator_PrependFinishEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, Name addedBy, void* data ) {
 	TimeIntegrator*        self            = (TimeIntegrator*)timeIntegrator;
 
 	EntryPoint_Prepend( self->finishEP, name, funcPtr, addedBy );
@@ -587,7 +587,7 @@ void TimeIntegrator_InsertBeforeFinishEP
 	Name hookToInsertBefore,
 	Name name, 
 	Func_Ptr funcPtr, 
-	char* addedBy, 
+	Name addedBy, 
 	void* data ) 
 {
 	TimeIntegrator*        self            = (TimeIntegrator*)timeIntegrator;
@@ -609,7 +609,7 @@ void TimeIntegrator_InsertAfterFinishEP(
 	Name hookToInsertAfter, 
 	Name name, 
 	Func_Ptr funcPtr, 
-	char* addedBy, 
+	Name addedBy, 
 	void* data ) 
 {
 	TimeIntegrator*        self            = (TimeIntegrator*)timeIntegrator;
diff -r e534f234897d -r fecc51eb5f13 Utils/src/TimeIntegrator.h
--- a/Utils/src/TimeIntegrator.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/TimeIntegrator.h	Wed May 11 13:27:02 2011 -0700
@@ -54,8 +54,8 @@
 		NamedObject_Register*	integrandRegister; \
 		unsigned int				order; \
 		Bool							simultaneous; \
-		Name							_setupEPName; \
-		Name							_finishEPName; \
+		char*							_setupEPName; \
+		char*							_finishEPName; \
 		EntryPoint*					setupEP; \
 		Stg_ObjectList*			setupData; \
 		EntryPoint*					finishEP; \
@@ -99,7 +99,7 @@
 		(TimeIntegrator*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	#define TimeIntegrator_DeepCopy( self ) \
 		(TimeIntegrator*)Stg_Class_Copy( self, NULL, True, NULL, NULL )
-	void* _TimeIntegrator_Copy( void* timeIntegrator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
+	void* _TimeIntegrator_Copy( const void* timeIntegrator, void* dest, Bool deep, Name nameExt, PtrMap* ptrMap );
 	
 	/* 'Stg_Component' Virtual Functions */
 	void* _TimeIntegrator_DefaultNew( Name name ) ;
@@ -126,19 +126,19 @@
 		( (TimeIntegrand*) NamedObject_Register_GetByIndex( ((TimeIntegrator*)self)->integrandRegister, index ) )
 
 	void TimeIntegrator_Setup( void* timeIntegrator ) ;
-	void TimeIntegrator_AppendSetupEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, char* addedBy, void* data ) ;
-	void TimeIntegrator_PrependSetupEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, char* addedBy, void* data ) ;
+	void TimeIntegrator_AppendSetupEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, Name addedBy, void* data ) ;
+	void TimeIntegrator_PrependSetupEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, Name addedBy, void* data ) ;
 
 	void TimeIntegrator_Finalise( void* timeIntegrator ) ;
-	void TimeIntegrator_AppendFinishEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, char* addedBy, void* data ) ;
-	void TimeIntegrator_PrependFinishEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, char* addedBy, void* data ) ;
+	void TimeIntegrator_AppendFinishEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, Name addedBy, void* data ) ;
+	void TimeIntegrator_PrependFinishEP( void* timeIntegrator, Name name, Func_Ptr funcPtr, Name addedBy, void* data ) ;
 
 	void TimeIntegrator_InsertBeforeFinishEP( 
 			void* timeIntegrator, 
 			Name hookToInsertBefore,
 			Name name, 
 			Func_Ptr funcPtr, 
-			char* addedBy, 
+			Name addedBy, 
 			void* data );
 
 	void TimeIntegrator_InsertAfterFinishEP( 
@@ -146,7 +146,7 @@
 			Name hookToInsertAfter, 
 			Name name, 
 			Func_Ptr funcPtr, 
-			char* addedBy, 
+			Name addedBy, 
 			void* data );
 	
 	void TimeIntegrator_SetTime( void* timeIntegrator, double time ) ;
diff -r e534f234897d -r fecc51eb5f13 Utils/src/WallVC.c
--- a/Utils/src/WallVC.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/WallVC.c	Wed May 11 13:27:02 2011 -0700
@@ -47,7 +47,7 @@ const Type WallVC_Type = "WallVC";
 const Type WallVC_Type = "WallVC";
 const Name defaultWallVCName = "defaultWallVCName";
 
-const char* WallVC_WallEnumToStr[WallVC_Wall_Size] = {
+Name WallVC_WallEnumToStr[WallVC_Wall_Size] = {
 	"back",
 	"left",
 	"bottom",
@@ -383,7 +383,7 @@ void _WallVC_Print(void* wallVC, Stream*
 }
 
 
-void* _WallVC_Copy( void* wallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
+void* _WallVC_Copy( const void* wallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap ) {
 	WallVC*		self = (WallVC*)wallVC;
 	WallVC*		newWallVC;
 	PtrMap*		map = ptrMap;
@@ -403,7 +403,7 @@ void* _WallVC_Copy( void* wallVC, void* 
 	if( deep ) {
 		newWallVC->_mesh = (Mesh*)Stg_Class_Copy( self->_mesh, NULL, deep, nameExt, map );
 		
-		if( (newWallVC->_entryTbl = PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
+		if( (newWallVC->_entryTbl = (WallVC_Entry*)PtrMap_Find( map, self->_entryTbl )) == NULL && self->_entryTbl ) {
 			newWallVC->_entryTbl = Memory_Alloc_Array( WallVC_Entry, newWallVC->_entryCount, "WallVC->_entryTbl");
 			memcpy( newWallVC->_entryTbl, self->_entryTbl, sizeof(WallVC_Entry) * newWallVC->_entryCount );
 			PtrMap_Append( map, newWallVC->_entryTbl, self->_entryTbl );
diff -r e534f234897d -r fecc51eb5f13 Utils/src/WallVC.h
--- a/Utils/src/WallVC.h	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/src/WallVC.h	Wed May 11 13:27:02 2011 -0700
@@ -42,7 +42,7 @@
 
 	extern const Type WallVC_Type;
 	
-	extern const char* WallVC_WallEnumToStr[WallVC_Wall_Size];
+	extern Name WallVC_WallEnumToStr[WallVC_Wall_Size];
 	
 	#define __WallVC_Entry \
 		Name							varName; \
@@ -122,7 +122,7 @@
 	#define WallVC_Copy( self ) \
 		(VariableCondition*)Stg_Class_Copy( self, NULL, False, NULL, NULL )
 	
-	void* _WallVC_Copy( void* wallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
+	void* _WallVC_Copy( const void* wallVC, void* dest, Bool deep, Name nameExt, struct PtrMap* ptrMap );
 	
 	void _WallVC_Build(  void* wallVC, void* data );
 	
diff -r e534f234897d -r fecc51eb5f13 Utils/tests/AllNodesVCSuite.c
--- a/Utils/tests/AllNodesVCSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/tests/AllNodesVCSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -97,8 +97,8 @@ void AllNodesVCSuite_TestAllNodesVC( All
 	double								minCrds[3] = {0.0, 0.0, 0.0};
 	double								maxCrds[3] = {1.0, 1.0, 1.0};
 	double*								array[7];
-	char*									vcKey = "AllNodesVC";
-	char*									varName[] = {"x", "y", "z", "vx", "vy", "vz", "temp"};
+	Name									vcKey = "AllNodesVC";
+	Name									varName[] = {"x", "y", "z", "vx", "vy", "vz", "temp"};
 	char									input_file[PCU_PATH_MAX];
 	char									expected_file[PCU_PATH_MAX];
 	Mesh*									mesh;
diff -r e534f234897d -r fecc51eb5f13 Utils/tests/CompositeVCSuite.c
--- a/Utils/tests/CompositeVCSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/tests/CompositeVCSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -101,7 +101,7 @@ void CompositeVCSuite_TestCompositeVC( C
 	XML_IO_Handler*					io_handler;
 	unsigned								nDims = 3;
 	unsigned								meshSize[3] = {3, 3, 3};
-   unsigned								procToWatch;
+        int								procToWatch;
 	double								minCrds[3] = {0.0, 0.0, 0.0};
 	double								maxCrds[3] = {1.0, 1.0, 1.0};
 	Mesh*									mesh;
@@ -114,9 +114,9 @@ void CompositeVCSuite_TestCompositeVC( C
 	ConditionFunction_Register*	conFunc_Register;
 	ExtensionManager_Register*		extensionMgr_Register;
    double*								array[7];
-   char*									vcKey[] = {"WallVC_Front", "WallVC_Back", "WallVC_Left", "WallVC_Right", "WallVC_Top", "WallVC_Bottom"};
-   char*									vcKeyName[] = {"WallVC_FrontName", "WallVC_BackName", "WallVC_LeftName", "WallVC_RightName", "WallVC_TopName", "WallVC_BottomName"};
-   char*									varName[] = {"x", "y", "z", "vx", "vy", "vz", "temp"};
+   Name									vcKey[] = {"WallVC_Front", "WallVC_Back", "WallVC_Left", "WallVC_Right", "WallVC_Top", "WallVC_Bottom"};
+   Name									vcKeyName[] = {"WallVC_FrontName", "WallVC_BackName", "WallVC_LeftName", "WallVC_RightName", "WallVC_TopName", "WallVC_BottomName"};
+   Name									varName[] = {"x", "y", "z", "vx", "vy", "vz", "temp"};
 	char									input_file[PCU_PATH_MAX];
 	char									expected_file[PCU_PATH_MAX];
    unsigned								nDomains;
@@ -235,7 +235,7 @@ void CompositeVCSuite_TestCompositeVCDic
 	XML_IO_Handler*					io_handler;
 	unsigned								nDims = 3;
 	unsigned								meshSize[3] = {2, 2, 2};
-	unsigned								procToWatch;
+	int								procToWatch;
 	double								minCrds[3] = {0.0, 0.0, 0.0};
 	double								maxCrds[3] = {1.0, 1.0, 1.0};
 	Mesh*									mesh;
@@ -247,7 +247,7 @@ void CompositeVCSuite_TestCompositeVCDic
 	ConditionFunction_Register*	conFunc_Register;
 	ExtensionManager_Register*		extensionMgr_Register;
 	double*								array[7];
-	char*									varName[] = {"x", "y", "z", "vx", "vy", "vz", "temp"};
+	Name									varName[] = {"x", "y", "z", "vx", "vy", "vz", "temp"};
 	char									input_file[PCU_PATH_MAX];
 	char									expected_file[PCU_PATH_MAX];
 	unsigned								nDomains;
diff -r e534f234897d -r fecc51eb5f13 Utils/tests/RegularMeshUtilsSuite.c
--- a/Utils/tests/RegularMeshUtilsSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/tests/RegularMeshUtilsSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -115,10 +115,10 @@ void RegularMeshUtilsSuite_TestMeshUtils
 		
 		Stream_RedirectFile( stream, "regularMeshUtils.dat" );
 
-		for (element_dI=0; element_dI < Mesh_GetDomainSize( mesh, nDims ); element_dI++) {
-			Mesh_GetIncidence( mesh, nDims, element_dI, MT_VERTEX, inc );
+		for (element_dI=0; element_dI < Mesh_GetDomainSize( mesh, (MeshTopology_Dim)nDims ); element_dI++) {
+			Mesh_GetIncidence( mesh, (MeshTopology_Dim)nDims, element_dI, MT_VERTEX, inc );
 			currElementNodesCount = IArray_GetSize( inc );
-			currElementNodes = IArray_GetPtr( inc );
+			currElementNodes = (unsigned*)IArray_GetPtr( inc );
 
 			for (refNode_eI = 0; refNode_eI < currElementNodesCount; refNode_eI++ ) {
 				node_Diagonal = RegularMeshUtils_GetDiagOppositeAcrossElementNodeIndex(mesh, element_dI, currElementNodes[refNode_eI]) ;
diff -r e534f234897d -r fecc51eb5f13 Utils/tests/TimeIntegrationSuite.c
--- a/Utils/tests/TimeIntegrationSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/Utils/tests/TimeIntegrationSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -141,7 +141,7 @@ void TimeIntegrationSuite_Teardown( Time
 	Journal_Enable_AllTypedStream( True );
 }
 
-void TimeIntegrationSuite_TestDriver( TimeIntegrationSuiteData* data, char *_name, char *_DerivName0, char *_DerivName1, int _order ) {
+void TimeIntegrationSuite_TestDriver( TimeIntegrationSuiteData* data, const char *_name, const char *_DerivName0, const char *_DerivName1, int _order ) {
 	Stg_ComponentFactory*	cf;
 	Stream*						stream;
    Dictionary*					dictionary;
@@ -205,10 +205,10 @@ void TimeIntegrationSuite_TestDriver( Ti
 	Journal_PrintBool( stream, simultaneous );
 
 	/* Add stuff to EPs */
-	TimeIntegrator_AppendSetupEP( timeIntegrator, "start1", TimeIntegrationSuite_TestContextType, CURR_MODULE_NAME, context );
-	TimeIntegrator_AppendFinishEP( timeIntegrator, "finish1", TimeIntegrationSuite_TestVariableType, CURR_MODULE_NAME, variableList[0] );
-	TimeIntegrator_PrependSetupEP( timeIntegrator, "start0", TimeIntegrationSuite_TestVariableType, CURR_MODULE_NAME, variableList[0] );
-	TimeIntegrator_PrependFinishEP( timeIntegrator, "finish0", TimeIntegrationSuite_TestContextType, CURR_MODULE_NAME, context );
+	TimeIntegrator_AppendSetupEP( timeIntegrator, "start1", (void*)TimeIntegrationSuite_TestContextType, CURR_MODULE_NAME, context );
+	TimeIntegrator_AppendFinishEP( timeIntegrator, "finish1", (void*)TimeIntegrationSuite_TestVariableType, CURR_MODULE_NAME, variableList[0] );
+	TimeIntegrator_PrependSetupEP( timeIntegrator, "start0", (void*)TimeIntegrationSuite_TestVariableType, CURR_MODULE_NAME, variableList[0] );
+	TimeIntegrator_PrependFinishEP( timeIntegrator, "finish0", (void*)TimeIntegrationSuite_TestContextType, CURR_MODULE_NAME, context );
 
 	/* Build */
 	Stg_Component_Build( variableList[0], context, False );
@@ -303,7 +303,7 @@ void TimeIntegrationSuite_TestDriver( Ti
 }
 	
 void TimeIntegrationSuite_TestEuler( TimeIntegrationSuiteData* data ) {
-	unsigned procToWatch;
+	int procToWatch;
 
 	procToWatch = data->nProcs >=2 ? 1 : 0;
 
@@ -313,7 +313,7 @@ void TimeIntegrationSuite_TestEuler( Tim
 }
 
 void TimeIntegrationSuite_TestRK2( TimeIntegrationSuiteData* data ) {
-	unsigned procToWatch;
+	int procToWatch;
 
 	procToWatch = data->nProcs >=2 ? 1 : 0;
 
@@ -323,7 +323,7 @@ void TimeIntegrationSuite_TestRK2( TimeI
 }
 
 void TimeIntegrationSuite_TestRK4( TimeIntegrationSuiteData* data ) {
-	unsigned procToWatch;
+	int procToWatch;
 
 	procToWatch = data->nProcs >=2 ? 1 : 0;
 
diff -r e534f234897d -r fecc51eb5f13 libStgDomain/tests/LibDiscretisationSuite.c
--- a/libStgDomain/tests/LibDiscretisationSuite.c	Fri May 06 14:04:28 2011 -0700
+++ b/libStgDomain/tests/LibDiscretisationSuite.c	Wed May 11 13:27:02 2011 -0700
@@ -22,7 +22,7 @@ void LibDiscretisationSuite_DirectoryStG
 void LibDiscretisationSuite_DirectoryStGermain( LibDiscretisationSuiteData* data ) {
 	Stg_Object* testDirectoryStGermain;
 
-	testDirectoryStGermain = Stg_ObjectList_Get( Project_XMLSearchPaths, (Name)"StGermain" );
+	testDirectoryStGermain = (Stg_Object*)Stg_ObjectList_Get( Project_XMLSearchPaths, (Name)"StGermain" );
 	pcu_check_true( testDirectoryStGermain != NULL );
 }
 
@@ -30,8 +30,8 @@ void LibDiscretisationSuite_DirectoryDis
 	Stg_Object* testDirectoryStGermain;
 	Stg_Object* testDirectoryDiscretisation;
 
-	testDirectoryStGermain = Stg_ObjectList_Get( Project_XMLSearchPaths, (Name)"StGermain"  );
-	testDirectoryDiscretisation = Stg_ObjectList_Get( Project_XMLSearchPaths, (Name)"StgDomain" );
+	testDirectoryStGermain = (Stg_Object*)Stg_ObjectList_Get( Project_XMLSearchPaths, (Name)"StGermain"  );
+	testDirectoryDiscretisation = (Stg_Object*)Stg_ObjectList_Get( Project_XMLSearchPaths, (Name)"StgDomain" );
 
 	pcu_check_true( ( strcmp((char* )LIB_DIR, (char*)testDirectoryStGermain) ) || ( testDirectoryDiscretisation != NULL ) );
 }



More information about the CIG-COMMITS mailing list