Clang++ compiler emits warnings like these ones when parsing superfluous semicolons:
  .../src/OSD/OSD_MAllocHook.cxx:49:2: warning: extra ';' outside of a function is a C++11 extension [-Wc++11-extra-semi]
  .../src/ProjLib/ProjLib_ComputeApproxOnPolarSurface.cxx:317:30: warning: extra ';' after member function definition [-Wextra-semi]
   BOPDS_CoupleOfPaveBlocks() {
     myIndex=-1;
     myIndexInterf=-1;
-  };
+  }
   //
   /**
    * Constructor
     myIndex=-1;
     myIndexInterf=-1;
     SetPaveBlocks(thePB1, thePB2);
-  };
+  }
   //
   /**
    * Destructor
    */
   ~BOPDS_CoupleOfPaveBlocks() {
-  };
+  }
   //
   /**
    * Sets an index
 
                  const Standard_Integer theIndex2) {
     myIndex1=theIndex1; 
     myIndex2=theIndex2; 
-  }; 
+  }
   //
   /**
    * Returns the indices of interferred shapes
               Standard_Integer& theIndex2) const {
                 theIndex1=myIndex1; 
                 theIndex2=myIndex2; 
-              };
+              }
   //
   /**
    * Sets the index of the first interferred shape
    */
   void SetIndex1(const Standard_Integer theIndex) {
     myIndex1=theIndex; 
-  };
+  }
   //
   /**
    * Sets the index of the second interferred shape
    */
   void SetIndex2(const Standard_Integer theIndex) {
     myIndex2=theIndex;
-  };
+  }
   //
   /**
    * Returns the index of the first interferred shape
    */
   Standard_Integer Index1() const {
     return myIndex1; 
-  };
+  }
   //
   /**
    * Returns the index of the second interferred shape
    */
   Standard_Integer Index2() const {
     return myIndex2; 
-  };
+  }
   //
   /**
    * Returns the index of that are opposite to the given index
     else {
       return -1;
     }
-  };
+  }
   //
   /**
    * Returns true if the interference contains given index
    */
   void SetIndexNew(const Standard_Integer theIndex) {
     myIndexNew=theIndex;
-  };
+  }
   //
   //
   /**
    */
   Standard_Integer IndexNew() const {
     return myIndexNew; 
-  };
+  }
   //
   /**
    * Returns true if the interference has index of new shape
   Standard_Boolean HasIndexNew(Standard_Integer& theIndex) const {
     theIndex=myIndexNew;
     return (myIndexNew>=0);
-  };
+  }
   //
   /**
    * Returns true if the interference has index of new shape
    */
   Standard_Boolean HasIndexNew() const {
     return (myIndexNew>=0);
-  };
+  }
   //
  protected:     
   BOPDS_Interf() :
     myIndex2(-1),
     myIndexNew(-1),
     myAllocator(NCollection_BaseAllocator::CommonBaseAllocator()) {
-  };
+  }
   //
   BOPDS_Interf(const Handle(NCollection_BaseAllocator)& theAllocator) :
     myIndex1(-1), 
     myIndex2(-1),
     myIndexNew(-1),
     myAllocator(theAllocator) {
-  };
+  }
   //
   virtual ~BOPDS_Interf() {
-  };
+  }
   
  protected:    
   Standard_Integer myIndex1;
    *  Constructor
    */
   BOPDS_InterfVV() : BOPDS_Interf() {
-  };
+  }
   //
   /**
    *  Constructor
    */
   BOPDS_InterfVV(const Handle(NCollection_BaseAllocator)& theAllocator) 
     : BOPDS_Interf(theAllocator) {
-  };
+  }
   //
   /**
    *  Destructor
    */
   virtual ~BOPDS_InterfVV() {
-  };
+  }
   //
 };
 /**
     :
       BOPDS_Interf(),
       myParameter(0.) {
-  };
+  }
   //
   /**
    *  Constructor
     :
       BOPDS_Interf(theAllocator),
       myParameter(0.) {
-  };
+  }
   //
   /**
    *  Destructor
    */
   virtual ~BOPDS_InterfVE() {
-  };
+  }
   //
   /**
    *  Modifier
    */
   void SetParameter(const Standard_Real theT) {
     myParameter=theT;
-  };
+  }
   //
   /**
    *  Selector
    */
   Standard_Real Parameter() const {
     return myParameter;
-  };
+  }
   
  protected:
   Standard_Real myParameter;
     : BOPDS_Interf(),
       myU(0.),
       myV(0.) {
-  };
+  }
   //
   /**
    *  Constructor
     : BOPDS_Interf(theAllocator),
       myU(0.),
       myV(0.) {
-  };
+  }
   //
   /**
    *  Destructor
    */  
   virtual ~BOPDS_InterfVF() {
-  };
+  }
   //
   /**
    * Modifier
             const Standard_Real theV) {
     myU=theU;
     myV=theV;
-  };
+  }
   //
   /**
    * Selector
   void UV(Standard_Real& theU,Standard_Real& theV) const {
     theU=myU;
     theV=myV;
-  };
+  }
   
  protected:
   Standard_Real myU;
    *  Constructor
    */
   BOPDS_InterfEE() : BOPDS_Interf() {
-  };
+  }
   //
   /**
    *  Constructor
    */
   BOPDS_InterfEE(const Handle(NCollection_BaseAllocator)& theAllocator)
     : BOPDS_Interf(theAllocator) {
-  };
+  }
   //
   /**
    *  Destructor
    */
   virtual ~BOPDS_InterfEE() {
-  };
+  }
   //
   /**
    *  Modifier
    */
   void SetCommonPart(const IntTools_CommonPrt& theCP) {
     myCommonPart=theCP;
-  };
+  }
   //
   /**
    *  Selector
    */
   const IntTools_CommonPrt& CommonPart() const {
     return myCommonPart;
-  };
+  }
   
  protected:
   IntTools_CommonPrt myCommonPart;
    *  Constructor
    */
   BOPDS_InterfEF(): BOPDS_Interf() {
-  };
+  }
   //
   /**
    *  Constructor
    */
   BOPDS_InterfEF(const Handle(NCollection_BaseAllocator)& theAllocator)
     : BOPDS_Interf(theAllocator) {
-  };
+  }
   //
   /**
    *  Destructor
    */
   virtual ~BOPDS_InterfEF() {
-  };
+  }
   //
   /**
    * Modifier
    */
   void SetCommonPart(const IntTools_CommonPrt& theCP){
     myCommonPart=theCP;
-  };
+  }
   //
   /**
    *  Selector
    */
   const IntTools_CommonPrt& CommonPart() const {
     return myCommonPart;
-  };
+  }
   //
  protected:
   IntTools_CommonPrt myCommonPart;
       myTolR2D(1.e-7),
       myCurves(myAllocator),
       myPoints(myAllocator) {
-  };
+  }
   //
   /**
    *  Constructor
       myTolR2D(1.e-7),
       myCurves(myAllocator),
       myPoints(myAllocator) {
-  };
+  }
   */
   //
   /**
    *  Destructor
    */
   virtual ~BOPDS_InterfFF() {
-  };
+  }
   //
   /**
    * Initializer
    */
   const BOPDS_VectorOfCurve& Curves()const{
     return myCurves;
-  };
+  }
   //
   /**
    * Selector/Modifier
    */
   BOPDS_VectorOfCurve& ChangeCurves(){
     return myCurves;
-  };
+  }
   //
   /**
    * Selector
    */
   const BOPDS_VectorOfPoint& Points()const{
     return myPoints;
-  };
+  }
   //
   /**
    * Selector/Modifier
    */
   BOPDS_VectorOfPoint& ChangePoints(){
     return myPoints;
-  };
+  }
   //
  protected:
   Standard_Boolean myTangentFaces;
 
   // Caller of this function is responsible
   // for memory release after the string usage.
 
-  Standard_Integer Length () const {return myLength;};
+  Standard_Integer Length () const {return myLength;}
   // Returns full length of data contained
 
   Standard_EXPORT void Clear ();
   Standard_EXPORT LDOM_OSStream (const Standard_Integer theMaxBuf);
   // Constructor
 
-  Standard_CString str () const {return myBuffer.str();};
+  Standard_CString str () const {return myBuffer.str();}
 
-  Standard_Integer Length () const {return myBuffer.Length();};
+  Standard_Integer Length () const {return myBuffer.Length();}
 
-  void Clear () { myBuffer.Clear(); };
+  void Clear () { myBuffer.Clear(); }
 
  private:
   LDOM_SBuffer myBuffer;
 
   Standard_Boolean IsAlarm () const { return myAlarm != Message_None;  }
   
   //! Set all statuses of each type
-  void SetAllDone   () { myDone  = ~0; };
-  void SetAllWarn   () { myWarn  = ~0; };
-  void SetAllAlarm  () { myAlarm = ~0; };
-  void SetAllFail   () { myFail  = ~0; };
+  void SetAllDone   () { myDone  = ~0; }
+  void SetAllWarn   () { myWarn  = ~0; }
+  void SetAllAlarm  () { myAlarm = ~0; }
+  void SetAllFail   () { myFail  = ~0; }
 
   //! Clear all statuses of each type 
-  void ClearAllDone () { myDone  = Message_None; };
-  void ClearAllWarn () { myWarn  = Message_None; };
-  void ClearAllAlarm() { myAlarm = Message_None; };
-  void ClearAllFail () { myFail  = Message_None; };
+  void ClearAllDone () { myDone  = Message_None; }
+  void ClearAllWarn () { myWarn  = Message_None; }
+  void ClearAllAlarm() { myAlarm = Message_None; }
+  void ClearAllFail () { myFail  = Message_None; }
 
   //! Clear all statuses
   void Clear ()
 
 
  protected:
   //! Constructor - prohibited
-  NCollection_BaseAllocator(void) {};
+  NCollection_BaseAllocator(void) {}
 
  private:
   //! Copy constructor - prohibited
 
 
  protected:
   //! Constructor - prohibited
-  NCollection_HeapAllocator(void) {};
+  NCollection_HeapAllocator(void) {}
 
  private:
   //! Copy constructor - prohibited
 
   // auxiliary dummy function used to get a place where break point can be set
   inline void place_for_breakpoint() {}
 #endif
-};
+}
 
 #define MaxLookup 16
 
 
   Element_t y() const { return v[1]; }
 
   //! @return 2 components by their names in specified order (in GLSL-style)
-  NCOLLECTION_VEC_COMPONENTS_2D(x, y);
+  NCOLLECTION_VEC_COMPONENTS_2D(x, y)
 
   //! Alias to 1st component as X coordinate in XY.
   Element_t& x() { return v[0]; }
 
   Element_t b() const { return v[2]; }
 
   //! @return 2 components by their names in specified order (in GLSL-style)
-  NCOLLECTION_VEC_COMPONENTS_2D(x, y);
-  NCOLLECTION_VEC_COMPONENTS_2D(x, z);
-  NCOLLECTION_VEC_COMPONENTS_2D(y, z);
+  NCOLLECTION_VEC_COMPONENTS_2D(x, y)
+  NCOLLECTION_VEC_COMPONENTS_2D(x, z)
+  NCOLLECTION_VEC_COMPONENTS_2D(y, z)
 
   //! @return 3 components by their names in specified order (in GLSL-style)
-  NCOLLECTION_VEC_COMPONENTS_3D(x, y, z);
+  NCOLLECTION_VEC_COMPONENTS_3D(x, y, z)
 
   //! Alias to 1st component as X coordinate in XYZ.
   Element_t& x() { return v[0]; }
 
   Element_t a() const { return v[3]; }
 
   //! @return 2 of XYZW components in specified order as vector in GLSL-style
-  NCOLLECTION_VEC_COMPONENTS_2D(x, y);
-  NCOLLECTION_VEC_COMPONENTS_2D(x, z);
-  NCOLLECTION_VEC_COMPONENTS_2D(x, w);
-  NCOLLECTION_VEC_COMPONENTS_2D(y, z);
-  NCOLLECTION_VEC_COMPONENTS_2D(y, w);
-  NCOLLECTION_VEC_COMPONENTS_2D(z, w);
+  NCOLLECTION_VEC_COMPONENTS_2D(x, y)
+  NCOLLECTION_VEC_COMPONENTS_2D(x, z)
+  NCOLLECTION_VEC_COMPONENTS_2D(x, w)
+  NCOLLECTION_VEC_COMPONENTS_2D(y, z)
+  NCOLLECTION_VEC_COMPONENTS_2D(y, w)
+  NCOLLECTION_VEC_COMPONENTS_2D(z, w)
 
   //! @return 3 of XYZW components in specified order as vector in GLSL-style
-  NCOLLECTION_VEC_COMPONENTS_3D(x, y, z);
-  NCOLLECTION_VEC_COMPONENTS_3D(x, y, w);
-  NCOLLECTION_VEC_COMPONENTS_3D(x, z, w);
-  NCOLLECTION_VEC_COMPONENTS_3D(y, z, w);
+  NCOLLECTION_VEC_COMPONENTS_3D(x, y, z)
+  NCOLLECTION_VEC_COMPONENTS_3D(x, y, w)
+  NCOLLECTION_VEC_COMPONENTS_3D(x, z, w)
+  NCOLLECTION_VEC_COMPONENTS_3D(y, z, w)
 
   //! @return RGB components as vector
-  NCOLLECTION_VEC_COMPONENTS_3D(r, g, b);
+  NCOLLECTION_VEC_COMPONENTS_3D(r, g, b)
 
   //! Alias to 1st component as X coordinate in XYZW.
   Element_t& x() { return v[0]; }
 
 namespace {
   // dummy function to call at place where break point might be needed
   inline void place_for_breakpoint () {}
-};
+}
 
 //=======================================================================
 //function : GetCallback
 
   }
 #endif
 
-};
+}
 
 // =======================================================================
 // function : OpenGl_Window
 
   // we do not call BSplCLib here to avoid Cyclic dependency detection by WOK
   //static BinomAllocator THE_BINOM (BSplCLib::MaxDegree() + 1);
   static BinomAllocator THE_BINOM (25 + 1);
-};
+}
 
 //=======================================================================
 //function : Bin
 
 private:
 
   // Default constructor
-  Select3D_PointData () {};
+  Select3D_PointData () {}
 
   Select3D_Pnt*    mypolyg3d;
   Select3D_Pnt2d*  mypolyg2d;
 
 
   static CLocalePtr theCLocale;
 
-};
+}
 
 // =======================================================================
 // function : GetCLocale
 
   Standard_EXPORT virtual ~Standard_Persistent();
   
   Standard_EXPORT Standard_Persistent& operator= (const Standard_Persistent&);
-                  Standard_Persistent() : count(0),_typenum(0),_refnum(0) {};
-                  Standard_Persistent(const Standard_Persistent&) : count(0),_typenum(0),_refnum(0) {};
+                  Standard_Persistent() : count(0),_typenum(0),_refnum(0) {}
+                  Standard_Persistent(const Standard_Persistent&) : count(0),_typenum(0),_refnum(0) {}
                   Standard_Persistent(const Storage_stCONSTclCOM&) : count(0),_typenum(0),_refnum(0) {}
 
   Standard_EXPORT virtual const Handle_Standard_Type& DynamicType() const;
 
 
   // Father access
   inline TDF_LabelNode* Father() const
-    { return myFather; };
+    { return myFather; }
 
   // Brother access
   inline TDF_LabelNode* Brother() const
-    { return myBrother; };
+    { return myBrother; }
 
   // Child access
   inline TDF_LabelNode* FirstChild() const
-    { return myFirstChild; };
+    { return myFirstChild; }
 
     // Attribute access
   inline const Handle(TDF_Attribute)& FirstAttribute() const
-    { return myFirstAttribute; };
+    { return myFirstAttribute; }
 
   // Tag access
   inline Standard_Integer Tag() const
-    { return myTag; };
+    { return myTag; }
 
   // Depth access
   inline Standard_Integer Depth() const
-    { return (myFlags & ~TDF_LabelNodeFlagsMsk); };
+    { return (myFlags & ~TDF_LabelNodeFlagsMsk); }
 
   // IsRoot
   inline Standard_Boolean IsRoot() const
-    { return myFather == NULL; };
+    { return myFather == NULL; }
 
   // Data
   Standard_EXPORT TDF_Data * Data() const;
         (myFlags | TDF_LabelNodeAttModMsk) :
           (myFlags & ~TDF_LabelNodeAttModMsk);
       if (aStatus) AllMayBeModified();
-    };
+    }
 
   inline Standard_Boolean AttributesModified() const
-    { return ((myFlags & TDF_LabelNodeAttModMsk) != 0); };
+    { return ((myFlags & TDF_LabelNodeAttModMsk) != 0); }
 
   // Flag MayBeModified access
   inline void MayBeModified(const Standard_Boolean aStatus)
     { myFlags = (aStatus) ?
         (myFlags | TDF_LabelNodeMayModMsk) :
-          (myFlags & ~TDF_LabelNodeMayModMsk); };
+          (myFlags & ~TDF_LabelNodeMayModMsk); }
 
   inline Standard_Boolean MayBeModified() const
-    { return ((myFlags & TDF_LabelNodeMayModMsk) != 0); };
+    { return ((myFlags & TDF_LabelNodeMayModMsk) != 0); }
 
   private :
 
 
   // Tag modification
   inline void Tag(const Standard_Integer aTag)
-    { myTag = aTag; };
+    { myTag = aTag; }
 
   // Depth modification
   inline void Depth(const Standard_Integer aDepth)
-    { myFlags = ((myFlags & TDF_LabelNodeFlagsMsk) | aDepth); };
+    { myFlags = ((myFlags & TDF_LabelNodeFlagsMsk) | aDepth); }
 
   // Flag Imported access
   inline void Imported(const Standard_Boolean aStatus)
     { myFlags = (aStatus) ?
         (myFlags | TDF_LabelNodeImportMsk) :
-          (myFlags & ~TDF_LabelNodeImportMsk); };
+          (myFlags & ~TDF_LabelNodeImportMsk); }
 
   inline Standard_Boolean IsImported() const
-    { return ((myFlags & TDF_LabelNodeImportMsk) != 0); };
+    { return ((myFlags & TDF_LabelNodeImportMsk) != 0); }
 
   // Private Fields
   // --------------------------------------------------------------------------