diff --git a/Geo/GModelIO_OCC.cpp b/Geo/GModelIO_OCC.cpp
index da4d09944a6e8ae65656efdeff2ccde526eb597e..074cf3df99dd9bbbbfdbc6e73f811d17fe798f26 100644
--- a/Geo/GModelIO_OCC.cpp
+++ b/Geo/GModelIO_OCC.cpp
@@ -1,4 +1,4 @@
-  // $Id: GModelIO_OCC.cpp,v 1.10 2006-11-22 13:57:25 remacle Exp $
+  // $Id: GModelIO_OCC.cpp,v 1.11 2006-11-25 17:07:45 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -286,14 +286,7 @@ void OCC_Internals :: buildLists ()
 
 void OCC_Internals ::   HealGeometry (bool fixsmalledges , bool fixspotstripfaces, bool sewfaces, bool makesolids)
 {
-  int nrc = 0, nrcs = 0,
-    nrso = somap.Extent(),
-    nrsh = shmap.Extent(),
-    nrf = fmap.Extent(),
-    nrw = wmap.Extent(),
-    nre = emap.Extent(),
-    nrv = vmap.Extent();
-
+  int nrc = 0, nrcs = 0;
   TopExp_Explorer e;
   for (e.Init(shape, TopAbs_COMPOUND); e.More(); e.Next()) nrc++;
   for (e.Init(shape, TopAbs_COMPSOLID); e.More(); e.Next()) nrcs++;
diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp
index e8d0d69d4727e5b234594d28e16625050841440e..d5b2f8bfe8161e4f8f1b7a0c8665bb812d53b2db 100644
--- a/Geo/Geo.cpp
+++ b/Geo/Geo.cpp
@@ -1,4 +1,4 @@
-// $Id: Geo.cpp,v 1.59 2006-11-25 16:52:43 geuzaine Exp $
+// $Id: Geo.cpp,v 1.60 2006-11-25 17:07:45 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -667,7 +667,6 @@ Volume *Create_Volume(int Num, int Typ)
 
 void Free_Volume(void *a, void *b)
 {
-  Volume *pV = *(Volume **) a;
   Free_Volume_But_Not_Elements(a, b);
 }
 
@@ -2779,7 +2778,7 @@ void ReplaceAllDuplicates()
 
 // Projection of point on curve or surface
 
-static Curve *CURVE, *CURVE_2;
+static Curve *CURVE;
 static Surface *SURFACE;
 static Vertex *VERTEX;
 
diff --git a/Geo/GeoInterpolation.cpp b/Geo/GeoInterpolation.cpp
index c1f5f850bb3eaccd923c6ac89b02cfe2faebd49b..abfb02b088a82fe20c5720c06c1667eb139e9983 100644
--- a/Geo/GeoInterpolation.cpp
+++ b/Geo/GeoInterpolation.cpp
@@ -1,4 +1,4 @@
-// $Id: GeoInterpolation.cpp,v 1.1 2006-11-25 16:52:43 geuzaine Exp $
+// $Id: GeoInterpolation.cpp,v 1.2 2006-11-25 17:07:45 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -403,7 +403,7 @@ Vertex InterpolateSurface(Surface * s, double u, double v,
   }
 
   Vertex x(u, v, .0);
-  Vertex *xx = &x, *dum;
+  Vertex *xx = &x;
 
   if(s->Extrude && s->Extrude->geo.Mode == EXTRUDED_ENTITY &&
      s->Typ != MSH_SURF_PLAN) {
diff --git a/Geo/OCCEdge.cpp b/Geo/OCCEdge.cpp
index bd896a0fa1916dcfbad303ca9f1eb3024c9c3da3..86a4ddd02b645ef3cfd25da2042df350e3cc9e30 100644
--- a/Geo/OCCEdge.cpp
+++ b/Geo/OCCEdge.cpp
@@ -1,4 +1,4 @@
-// $Id: OCCEdge.cpp,v 1.11 2006-11-25 16:52:43 geuzaine Exp $
+// $Id: OCCEdge.cpp,v 1.12 2006-11-25 17:07:45 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -32,7 +32,7 @@
 #include "Geom_Line.hxx"
 
 OCCEdge::OCCEdge(GModel *model, TopoDS_Edge edge, int num, GVertex *v1, GVertex *v2)
-  : GEdge(model, num, v1, v2), trimmed(0),c(edge)
+  : GEdge(model, num, v1, v2), c(edge), trimmed(0)
 {
   curve = BRep_Tool::Curve(c, s0, s1);
 }
@@ -112,7 +112,6 @@ int OCCEdge::isSeam(GFace *face) const
 
 GPoint OCCEdge::point(double par) const
 {
-  double s0,s1;  
   if (!curve.IsNull())
     {
       gp_Pnt pnt = curve->Value (par);
diff --git a/Geo/OCCFace.cpp b/Geo/OCCFace.cpp
index 7ad9753b4d58922e10d859236f28f3cc11095038..1af8003970b8d914362861cbecca9369d563b378 100644
--- a/Geo/OCCFace.cpp
+++ b/Geo/OCCFace.cpp
@@ -1,4 +1,4 @@
-// $Id: OCCFace.cpp,v 1.12 2006-11-23 16:23:13 remacle Exp $
+// $Id: OCCFace.cpp,v 1.13 2006-11-25 17:07:45 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -242,6 +242,7 @@ int OCCFace::containsPoint(const SPoint3 &pt) const
     }
   else
     Msg(GERROR,"Not Done Yet ...");
+  return false;
 }
 // void OCCFace::buildVisTriangulation ();
 // {
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index 28b0f293d04d31dd9ec9192e468a9444ff692acd..a923e9f487765cf406cd5189d8558936c5355105 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGFace.cpp,v 1.26 2006-11-25 16:52:44 geuzaine Exp $
+// $Id: meshGFace.cpp,v 1.27 2006-11-25 17:07:45 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -981,7 +981,7 @@ bool buildConsecutiveListOfVertices (  GFace *gf,
      MVertex *here = ges.ge->getBeginVertex()->mesh_vertices[0];
      mesh1d.push_back(ges.ge->reparamOnFace(gf,range.low(),1));
      if ( seam ) mesh1d_seam.push_back(ges.ge->reparamOnFace(gf,range.low(),-1));
-     for (int i=0;i<ges.ge->mesh_vertices.size();i++)
+     for (unsigned int i=0;i<ges.ge->mesh_vertices.size();i++)
        {
 	 double u;
 	 here = ges.ge->mesh_vertices[i];
@@ -1006,7 +1006,7 @@ bool buildConsecutiveListOfVertices (  GFace *gf,
   
   GEdgeSigned found(0,0);
 
-  SPoint2 last_coord;  
+  SPoint2 last_coord(0,0);  
   int counter = 0;
 
   while (unordered.size())
@@ -1096,20 +1096,20 @@ bool buildConsecutiveListOfVertices (  GFace *gf,
      if ( found._sign == 1)
        {
 	 edgeLoop.push_back(found.ge->getBeginVertex()->mesh_vertices[0]);
-	 for (int i=0;i<found.ge->mesh_vertices.size();i++)
+	 for (unsigned int i=0;i<found.ge->mesh_vertices.size();i++)
 	   edgeLoop.push_back(found.ge->mesh_vertices[i]);
        }
      else
        {
 	 edgeLoop.push_back(found.ge->getEndVertex()->mesh_vertices[0]);
-	 for (int i=found.ge->mesh_vertices.size()-1;i>=0;i--)	    
+	 for (unsigned int i=found.ge->mesh_vertices.size()-1;i>=0;i--)	    
 	   edgeLoop.push_back(found.ge->mesh_vertices[i]);
        }
      
      //     printf("edge %d size %d size %d\n",found.ge->tag(),edgeLoop.size(), coords.size());
      
      std::vector<BDS_Point*>  edgeLoop_BDS;
-     for (int i=0;i<edgeLoop.size();i++)	    
+     for (unsigned int i=0;i<edgeLoop.size();i++)	    
        {
 	 MVertex *here     = edgeLoop[i];
 	 GEntity *ge       = here->onWhat();    
@@ -1178,10 +1178,10 @@ bool gmsh2DMeshGeneratorPeriodic ( GFace *gf )
   DocRecord doc;  
   doc.points =  (PointRecord*)malloc((nbPointsTotal+4) * sizeof(PointRecord));
   int count = 0;
-  for ( int i=0;i<edgeLoops_BDS.size();i++)
+  for (unsigned int i=0;i<edgeLoops_BDS.size();i++)
     {
       std::vector<BDS_Point*> &edgeLoop_BDS = edgeLoops_BDS[i];
-      for ( int j=0;j<edgeLoop_BDS.size();j++)
+      for (unsigned int j=0;j<edgeLoop_BDS.size();j++)
 	{
 	  BDS_Point *pp = edgeLoop_BDS[j];
 	  const double U = pp->u;
@@ -1233,7 +1233,7 @@ bool gmsh2DMeshGeneratorPeriodic ( GFace *gf )
       BDS_Point *p1 = (BDS_Point*)doc.points[doc.delaunay[i].t.a].data;
       BDS_Point *p2 = (BDS_Point*)doc.points[doc.delaunay[i].t.b].data;
       BDS_Point *p3 = (BDS_Point*)doc.points[doc.delaunay[i].t.c].data;
-      BDS_Face *t = m->add_triangle ( p1->iD,p2->iD,p3->iD);
+      m->add_triangle ( p1->iD,p2->iD,p3->iD);
     }  
   // Free stuff
   free (doc.points);
@@ -1246,10 +1246,10 @@ bool gmsh2DMeshGeneratorPeriodic ( GFace *gf )
   BDS_GeomEntity CLASS_E (1,1);
   
 
-  for ( int i=0;i<edgeLoops_BDS.size();i++)
+  for (unsigned int i=0;i<edgeLoops_BDS.size();i++)
     {
       std::vector<BDS_Point*> &edgeLoop_BDS = edgeLoops_BDS[i];
-      for ( int j=0;j<edgeLoop_BDS.size();j++)
+      for (unsigned int j=0;j<edgeLoop_BDS.size();j++)
 	{
 	  BDS_Edge * e = m->recover_edge ( edgeLoop_BDS[j]->iD,edgeLoop_BDS[(j+1)%edgeLoop_BDS.size()]->iD);	  
 	  if (!e)
@@ -1396,6 +1396,7 @@ bool gmsh2DMeshGeneratorPeriodic ( GFace *gf )
 //   sprintf(name,"real%d.pos",gf->tag());
 //   outputScalarField(m->triangles, name,0);
   delete m; 
+  return true;
 }
 
 
diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp
index a3cdb468d36c8bea1fb2e356f1e19e51c2577f0a..40f59e346b8a01eaaf8c7f5a72a5c4731286ff6e 100644
--- a/Mesh/meshGRegion.cpp
+++ b/Mesh/meshGRegion.cpp
@@ -107,7 +107,6 @@ void buildTetgenStructure (  GRegion *gr, tetgenio &in, std::vector<MVertex*> &
 
 void TransferTetgenMesh(GRegion *gr, tetgenio &in, tetgenio &out, std::vector<MVertex*> & numberedV)
 {
-  int I = numberedV.size() + 1;
   for (int i = numberedV.size(); i < out.numberofpoints; i++) 
     {
       MVertex *v = new MVertex (out.pointlist[i * 3 + 0],
@@ -126,7 +125,7 @@ void TransferTetgenMesh(GRegion *gr, tetgenio &in, tetgenio &out, std::vector<MV
     while (it != faces.end())
       {
 	GFace *gf = (*it); 
-	for (int i=0;i<gf->triangles.size();i++)
+	for (unsigned int i=0;i<gf->triangles.size();i++)
 	  {
 	    delete gf->triangles[i];
 	  }
diff --git a/Mesh/meshGRegionDelaunayInsertion.cpp b/Mesh/meshGRegionDelaunayInsertion.cpp
index 57f367f3d6f46ba4ea1663a707f03377618b1033..901eee1782871498c87b4615daa497ae641f0bc4 100644
--- a/Mesh/meshGRegionDelaunayInsertion.cpp
+++ b/Mesh/meshGRegionDelaunayInsertion.cpp
@@ -229,7 +229,7 @@ bool insertVertex (MVertex *v ,
   // The cavity is NOT star shaped
   else
     {      
-      for (int i=0;i<shell.size();i++)delete newTets[i];
+      for (unsigned int i=0;i<shell.size();i++)delete newTets[i];
       delete [] newTets;      
       ittet = cavity.begin();
       ittete = cavity.end();  
@@ -270,7 +270,7 @@ void insertVerticesInRegion (GRegion *gr)
   std::map<MVertex*,double> vSizesMap;
   std::vector<double> vSizes;
 
-  for (int i=0;i<gr->tetrahedra.size();i++)setLcs ( gr->tetrahedra[i] , vSizesMap);
+  for (unsigned int i=0;i<gr->tetrahedra.size();i++)setLcs ( gr->tetrahedra[i] , vSizesMap);
   
   int NUM=0;
   for (std::map<MVertex*,double>::iterator it = vSizesMap.begin();it!=vSizesMap.end();++it)
@@ -279,7 +279,7 @@ void insertVerticesInRegion (GRegion *gr)
       vSizes.push_back(it->second);
     }
 
-  for (int i=0;i<gr->tetrahedra.size();i++)
+  for (unsigned int i=0;i<gr->tetrahedra.size();i++)
     allTets.insert ( new MTet4 ( gr->tetrahedra[i] ,vSizes ) );
 
   gr->tetrahedra.clear();