diff --git a/Common/GmshMatrix.h b/Common/GmshMatrix.h
index f5c03b178b0b1c5246680b619c6439eabe163a3c..de2d1e0a8acd2c0c70a1c8d8b6946f94a752267c 100644
--- a/Common/GmshMatrix.h
+++ b/Common/GmshMatrix.h
@@ -91,6 +91,11 @@ class Gmsh_Matrix
       for(int j = 0; j < b.size(); j++)
 	b.data[i] += (*this)(i, j) * x(j);
   }
+  inline void blas_dgemm(const Gmsh_Matrix<SCALAR> & x, const Gmsh_Matrix<SCALAR> & b, 
+			 const double c_a = 1.0, const double c_b = 1.0)
+  {
+    // FIXME: not implemented
+  }
   inline void set_all(const double &m) 
   {
     for(int i = 0; i < r * c; i++) data[i] = m;
diff --git a/Geo/GFaceCompound.h b/Geo/GFaceCompound.h
index 14d41029d323facf02df09926b6579669b29f28f..085c2577564f4924fd5a1427ef0584739394b19c 100644
--- a/Geo/GFaceCompound.h
+++ b/Geo/GFaceCompound.h
@@ -70,7 +70,7 @@ public:
   ModelType getNativeType() const { return GmshModel; }
   void * getNativePtr() const { return 0; }
   SPoint2 getCoordinates (MVertex *v) const { parametrize() ; return coordinates[v]; }
-  virtual bool buildRepresentationCross(){}
+  virtual bool buildRepresentationCross(){ return false; }
 };
 
 #endif
diff --git a/Mesh/meshGFaceBDS.cpp b/Mesh/meshGFaceBDS.cpp
index 0fee960641274709257f211d76ff41ef955f0d4a..41011f153665b66035bc4507b73831b7ba9424c1 100644
--- a/Mesh/meshGFaceBDS.cpp
+++ b/Mesh/meshGFaceBDS.cpp
@@ -267,10 +267,10 @@ bool edgeSwapTestHighOrder(BDS_Edge *e,GFace *gf)
   // the generation of 2 high order elements 
   // The rationale is to consider the edges as
   // exactly matching curves and surfaces 
+  return false;
 }
 
 
-
 bool edgeSwapTestDelaunayAniso(BDS_Edge *e, GFace *gf, std::set<swapquad> &configs)
 {
   BDS_Point *op[2];