diff --git a/Mesh/yamakawa.cpp b/Mesh/yamakawa.cpp
index 804add0811b5b7feb021fefd4adc5702fc431a27..cb49f40c1a7abbfcf0040048b6d5e0204e9a32a1 100644
--- a/Mesh/yamakawa.cpp
+++ b/Mesh/yamakawa.cpp
@@ -2358,13 +2358,13 @@ bool validFace(MVertex *a, MVertex *b, MVertex *c, MVertex *d, std::map<MVertex*
     SVector3 vec1 = SVector3(b->x()-a->x(),b->y()-a->y(),b->z()-a->z()).unit();
     SVector3 vec2 = SVector3(c->x()-a->x(),c->y()-a->y(),c->z()-a->z()).unit();
     SVector3 vec3 = SVector3(d->x()-a->x(),d->y()-a->y(),d->z()-a->z()).unit();
-    
+
     SVector3 crossVec1Vec2 = crossprod(vec1, vec2);
     double angle = fabs(acos(dot(crossVec1Vec2, vec3))*180/M_PI);
     double maxAngle = 15;
     if (fabs(angle-90) > maxAngle) valid=false;
   }
-  
+
   return valid;
 
 
@@ -2375,14 +2375,14 @@ bool validFace(MVertex *a, MVertex *b, MVertex *c, MVertex *d, std::map<MVertex*
 bool PostOp::valid(MPyramid *pyr){
   MVertex *V[4] = {pyr->getVertex(0), pyr->getVertex(1), pyr->getVertex(2), pyr->getVertex(3)};
   MVertex *apex = pyr->getVertex(4);
-  
+
   if (apex->onWhat()->dim() < 3){
     for (int iP=0; iP<4; iP++) { //loop on pairs of triangles
       int nbBndNodes = 0;
       if (V[(0+iP)%4]->onWhat()->dim() < 3) nbBndNodes++;
       if (V[(1+iP)%4]->onWhat()->dim() < 3) nbBndNodes++;
       if (V[(2+iP)%4]->onWhat()->dim() < 3) nbBndNodes++;
-      if (nbBndNodes == 3){          
+      if (nbBndNodes == 3){
         SVector3 vec1 = SVector3(V[(0+iP)%4]->x()-apex->x(),V[(0+iP)%4]->y()-apex->y(),V[(0+iP)%4]->z()-apex->z()).unit();
         SVector3 vec2 = SVector3(V[(1+iP)%4]->x()-apex->x(),V[(1+iP)%4]->y()-apex->y(),V[(1+iP)%4]->z()-apex->z()).unit();
         SVector3 vec3 = SVector3(V[(2+iP)%4]->x()-apex->x(),V[(2+iP)%4]->y()-apex->y(),V[(2+iP)%4]->z()-apex->z()).unit();
@@ -2421,7 +2421,7 @@ bool PostOp::valid(MPyramid *pyr){
 //          else
 //            nbTagOccurences[idFace]++;
 //          maxOccurences = std::max(nbTagOccurences[idFace], maxOccurences);
-//        } 
+//        }
 //      }
 //    }
 //    if (maxOccurences == 3) return false;
@@ -2438,7 +2438,7 @@ bool PostOp::valid(MPyramid *pyr){
 //      SVector3 vec1 = SVector3(b->x()-a->x(),b->y()-a->y(),b->z()-a->z()).unit();
 //      SVector3 vec2 = SVector3(c->x()-a->x(),c->y()-a->y(),c->z()-a->z()).unit();
 //      SVector3 vec3 = SVector3(d->x()-a->x(),d->y()-a->y(),d->z()-a->z()).unit();
-//      
+//
 //      SVector3 crossVec1Vec2 = crossprod(vec1, vec2);
 //      double angle = fabs(acos(dot(crossVec1Vec2, vec3))*180/M_PI);
 //      double maxAngle = 15;
@@ -5047,7 +5047,7 @@ void PostOp::executeNew(GRegion* gr)
       std::set<MElement*>::iterator it = potential.begin();
       while (it != potential.end()) {
         if (tetrahedra.find(*it) == tetrahedra.end())
-          it = potential.erase(it);
+          potential.erase(it++);
         else
           ++it;
       }
@@ -5143,7 +5143,7 @@ void PostOp::writeMSH(const char *filename, std::vector<MElement*> &elements)
   fprintf(f, "$EndMeshFormat\n");
 
   fprintf(f, "$Nodes\n");
-  fprintf(f, "%d\n", vertices.size());
+  fprintf(f, "%d\n", (int)vertices.size());
   std::set<MVertex*>::iterator it;
   int n = 0;
   for (it = vertices.begin(); it != vertices.end(); ++it) {
@@ -5153,7 +5153,7 @@ void PostOp::writeMSH(const char *filename, std::vector<MElement*> &elements)
   fprintf(f, "$EndNodes\n");
 
   fprintf(f, "$Elements\n");
-  fprintf(f, "%d\n", elements.size());
+  fprintf(f, "%d\n", (int)elements.size());
   for (int i = 0; i < elements.size(); ++i) {
     fprintf(f, "%d %d 0", elements[i]->getNum(), elements[i]->getTypeForMSH());
     for (int k = 0; k < elements[i]->getNumVertices(); ++k)
@@ -5278,28 +5278,28 @@ void PostOp::execute(GRegion* gr,int level, int conformity){
     build_vertex_to_pyramids(gr);
     pyramids2(gr);
     rearrange(gr);
-  }    
-  
+  }
+
   if (conformity == 3 || conformity == 4){
     init_markings_hex(gr);
     build_vertex_to_tetrahedra(gr);
     build_vertex_to_pyramids(gr);
     split_hexahedra(gr);
     rearrange(gr);
-  
+
     init_markings_pri(gr);
     build_vertex_to_tetrahedra(gr);
     build_vertex_to_pyramids(gr);
     split_prisms(gr);
     rearrange(gr);
-    
+
     init_markings_pyr(gr);
     build_vertex_to_tetrahedra(gr);
     build_vertex_to_pyramids(gr);
     split_pyramids(gr);
     rearrange(gr);
   }
-  
+
   if (conformity >= 1){
     init_markings(gr);
     build_vertex_to_tetrahedra(gr);
@@ -5388,7 +5388,7 @@ void PostOp::split_hexahedra(GRegion* gr){
     MVertex *f = element->getVertex(5);
     MVertex *g = element->getVertex(6);
     MVertex *h = element->getVertex(7);
-    
+
     bool conform=true;
     conform &= (nonConformDiag(b,a,d,c,gr) == 0);
     if (conform) conform &= (nonConformDiag(e,f,g,h,gr) == 0);
@@ -5402,7 +5402,7 @@ void PostOp::split_hexahedra(GRegion* gr){
       double z = (a->z()+b->z()+c->z()+d->z()+e->z()+f->z()+g->z()+h->z())/8.0;
       MVertex *mid = new MVertex(x,y,z,gr);
       gr->addMeshVertex(mid);
-      
+
       MPyramid *temp = new MPyramid(a,b,c,d,mid);
       gr->addPyramid(temp);
       temp = new MPyramid(h,g,f,e,mid);
@@ -5464,7 +5464,7 @@ void PostOp::split_prisms(GRegion* gr){
     pyramids1(a,b,e,d,gr);
     pyramids1(b,c,f,e,gr);
 
-    
+
     bool conform=true;
     conform &= (nonConformDiag(a,d,f,c,gr) == 0);
     if (conform) conform &= (nonConformDiag(a,b,e,d,gr) == 0);
@@ -5475,7 +5475,7 @@ void PostOp::split_prisms(GRegion* gr){
       double z = (a->z()+b->z()+c->z()+d->z()+e->z()+f->z())/6.0;
       MVertex *mid = new MVertex(x,y,z,gr);
       gr->addMeshVertex(mid);
-      
+
       MPyramid *temp = new MPyramid(c,f,d,a,mid);
       gr->addPyramid(temp);
       temp = new MPyramid(d,e,b,a,mid);
@@ -5532,7 +5532,7 @@ void PostOp::split_pyramids(GRegion* gr){
     MVertex *c = element->getVertex(2);
     MVertex *d = element->getVertex(3);
     MVertex *apex = element->getVertex(4);
-    
+
     int nDiag = nonConformDiag(a,b,c,d,gr);
     if (nDiag == 1){
       MTetrahedron *temp = new MTetrahedron(c,b,a,apex);
@@ -5813,7 +5813,7 @@ void PostOp::pyramids2(GRegion* gr, bool allowNonConforming){
 
   for(i=0;i<hexahedra.size();i++){
     element = hexahedra[i];
-  
+
     a = element->getVertex(0);
     b = element->getVertex(1);
     c = element->getVertex(2);
@@ -5919,7 +5919,7 @@ void PostOp::pyramids1(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr){
   }
 
   if(bin.size()==2){ //2 tetrahedra on face
-    it = bin.begin(); 
+    it = bin.begin();
     it1 = markings.find(*it); //1st tetrahedra
     it++;
     it2 = markings.find(*it); //2nd tetrahedra
@@ -5964,7 +5964,7 @@ void PostOp::trihedra(GRegion* gr){
 
   for(i=0;i<hexahedra.size();i++){
     element = hexahedra[i];
-  
+
     a = element->getVertex(0);
     b = element->getVertex(1);
     c = element->getVertex(2);
@@ -6026,7 +6026,7 @@ void PostOp::trihedra(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr){
 
 void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr, bool allowNonConforming){
 
-  
+
   bool flag;
   double x,y,z;
   MVertex* mid;
@@ -6173,41 +6173,41 @@ void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr,
 
       mid = new MVertex(x,y,z,gr);
       gr->addMeshVertex(mid);
-      
+
       temp2 = new MPyramid(a,b,c,d,mid);
-      
+
       gr->addPyramid(temp2);
       markings.insert(std::pair<MElement*,bool>(temp2,false));
       build_vertex_to_pyramids(temp2);
       //      printf("Creating pyramid with vertices %i %i %i %i %i\n", a->getNum(), b->getNum(), c->getNum(), d->getNum(), mid->getNum());
-      
-      
+
+
       for(it=tetrahedra.begin();it!=tetrahedra.end();it++){
 
         MVertex *Nout = findInTriFace(diagA,diagB,nDiagA,nDiagB,*it);
-        MVertex *Nin = other(*it,diagA,diagB,Nout);        
+        MVertex *Nin = other(*it,diagA,diagB,Nout);
         //        N1 = other(*it,diagA,diagB);
 
-                    
+
         if(Nout!=0 && Nin!=0){
           Ns.insert(N1);
           Ns.insert(N2);
 
-          
+
           temp = new MTetrahedron(mid,diagB,Nin,Nout);
           gr->addTetrahedron(temp);
           markings.insert(std::pair<MElement*,bool>(temp,false));
           build_vertex_to_tetrahedra(temp);
           movables.push_back(temp);
           //          printf("Creating tet with vertices %i %i %i %i\n", N1->getNum(), N2->getNum(), diagA->getNum(), mid->getNum());
-          
+
           temp = new MTetrahedron(diagA,mid,Nin,Nout);
           gr->addTetrahedron(temp);
           markings.insert(std::pair<MElement*,bool>(temp,false));
           build_vertex_to_tetrahedra(temp);
           movables.push_back(temp);
           //          printf("Creating tet with vertices %i %i %i %i\n", N1->getNum(), N2->getNum(), diagB->getNum(), mid->getNum());
-          
+
           it2 = markings.find(*it);
           it2->second = 1;
           erase_vertex_to_tetrahedra(*it);
@@ -6215,9 +6215,9 @@ void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr,
           Msg::Fatal("Wrong tetrahedron");
         }
       }
-      
+
       for(it=pyramids.begin();it!=pyramids.end();it++){
-        v1 = (*it)->getVertex(0); 
+        v1 = (*it)->getVertex(0);
         v2 = (*it)->getVertex(1);
         v3 = (*it)->getVertex(2);
         v4 = (*it)->getVertex(3);
@@ -6264,8 +6264,8 @@ void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr,
           build_vertex_to_tetrahedra(temp);
           movables.push_back(temp);
         }
-        
-      
+
+
 //        if(v1!=diagA && v1!=diagB){
 //          Ns.insert(v1);
 //        }
@@ -6281,12 +6281,12 @@ void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr,
 //        if(v5!=diagA && v5!=diagB){
 //          Ns.insert(v5);
 //        }
-//      
+//
 //        temp2 = new MPyramid(v1,v2,v3,v4,mid);
 //        gr->addPyramid(temp2);
 //        markings.insert(std::pair<MElement*,bool>(temp2,false));
 //        build_vertex_to_pyramids(temp2);
-//      
+//
 //        if(different(v1,v2,diagA,diagB)){
 //          temp = new MTetrahedron(v1,v2,mid,v5);
 //          gr->addTetrahedron(temp);
@@ -6294,7 +6294,7 @@ void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr,
 //          build_vertex_to_tetrahedra(temp);
 //          movables.push_back(temp);
 //        }
-//      
+//
 //        if(different(v2,v3,diagA,diagB)){
 //          temp = new MTetrahedron(v2,v3,mid,v5);
 //          gr->addTetrahedron(temp);
@@ -6302,7 +6302,7 @@ void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr,
 //          build_vertex_to_tetrahedra(temp);
 //          movables.push_back(temp);
 //        }
-//      
+//
 //        if(different(v3,v4,diagA,diagB)){
 //          temp = new MTetrahedron(v3,v4,mid,v5);
 //          gr->addTetrahedron(temp);
@@ -6310,7 +6310,7 @@ void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr,
 //          build_vertex_to_tetrahedra(temp);
 //          movables.push_back(temp);
 //        }
-//      
+//
 //        if(different(v4,v1,diagA,diagB)){
 //          temp = new MTetrahedron(v4,v1,mid,v5);
 //          gr->addTetrahedron(temp);
@@ -6318,12 +6318,12 @@ void PostOp::pyramids2(MVertex* a,MVertex* b,MVertex* c,MVertex* d,GRegion* gr,
 //          build_vertex_to_tetrahedra(temp);
 //          movables.push_back(temp);
 //        }
-      
+
         it2 = markings.find(*it);
         it2->second = 1;
         erase_vertex_to_pyramids(*it);
       }
-      
+
       //  mean(Ns,mid,movables);
     }
   }
@@ -6861,7 +6861,7 @@ void PostOp::find_tetrahedra(MVertex* v1,MVertex* v2,MVertex* v3,std::set<MEleme
   if(it1!=vertex_to_tetrahedra.end() && it2!=vertex_to_tetrahedra.end()  && it3!=vertex_to_tetrahedra.end()){
     intersection(it1->second,it2->second,buf);
     intersection(buf,it3->second,final);
-    
+
   }
 }
 
@@ -6893,7 +6893,7 @@ void PostOp::find_pyramids_from_tri(MVertex* v1,MVertex* v2,MVertex* v3,std::set
               equal(v2,v3,(*it)->getVertex(1),(*it)->getVertex(2)) ||
               equal(v2,v3,(*it)->getVertex(2),(*it)->getVertex(3)) ||
               equal(v2,v3,(*it)->getVertex(3),(*it)->getVertex(0)));
-    }      
+    }
     if (v2 == (*it)->getVertex(4)){
       flag = (equal(v1,v3,(*it)->getVertex(0),(*it)->getVertex(1)) ||
               equal(v1,v3,(*it)->getVertex(1),(*it)->getVertex(2)) ||
@@ -9039,4 +9039,3 @@ bool Recombinator_Graph::is_blossom_pair(PETriangle *t1, PETriangle *t2)
   }
   return false;
 }
-