diff --git a/common/settings/settings_manager.cpp b/common/settings/settings_manager.cpp
index 1e96a441f8..ca373732a8 100644
--- a/common/settings/settings_manager.cpp
+++ b/common/settings/settings_manager.cpp
@@ -190,7 +190,8 @@ void SETTINGS_MANAGER::FlushAndRelease( JSON_SETTINGS* aSettings, bool aSave )
         if( aSave )
             ( *it )->SaveToFile( GetPathForSettingsFile( it->get() ) );
 
-        size_t typeHash = typeid( *it->get() ).hash_code();
+        JSON_SETTINGS* tmp = it->get(); // We use a temporary to surpress a Clang warning
+        size_t         typeHash = typeid( *tmp ).hash_code();
 
         if( m_app_settings_cache.count( typeHash ) )
             m_app_settings_cache.erase( typeHash );
diff --git a/eeschema/sch_connection.cpp b/eeschema/sch_connection.cpp
index dce4684eb1..8732cc31b1 100644
--- a/eeschema/sch_connection.cpp
+++ b/eeschema/sch_connection.cpp
@@ -519,7 +519,6 @@ wxString SCH_CONNECTION::PrintBusForUI( const wxString& aGroup )
     size_t   groupLen = aGroup.length();
     size_t   i = 0;
     wxString ret;
-    int      braceNesting = 0;
 
     // Parse prefix
     //
@@ -527,13 +526,11 @@ wxString SCH_CONNECTION::PrintBusForUI( const wxString& aGroup )
     {
         if( isSuperSubOverbar( aGroup[i] ) && i + 1 < groupLen && aGroup[i+1] == '{' )
         {
-            braceNesting++;
             i++;
             continue;
         }
         else if( aGroup[i] == '}' )
         {
-            braceNesting--;
             continue;
         }
 
@@ -551,13 +548,11 @@ wxString SCH_CONNECTION::PrintBusForUI( const wxString& aGroup )
     {
         if( isSuperSubOverbar( aGroup[i] ) && i + 1 < groupLen && aGroup[i+1] == '{' )
         {
-            braceNesting++;
             i++;
             continue;
         }
         else if( aGroup[i] == '}' )
         {
-            braceNesting--;
             continue;
         }
 
diff --git a/pcbnew/tools/item_modification_routine.cpp b/pcbnew/tools/item_modification_routine.cpp
index 82851b81d1..967352ad07 100644
--- a/pcbnew/tools/item_modification_routine.cpp
+++ b/pcbnew/tools/item_modification_routine.cpp
@@ -994,14 +994,17 @@ void OUTSET_ROUTINE::ProcessItem( BOARD_ITEM& aItem )
                 chain.Append( SHAPE_ARC{ arc.GetP0(), inner.GetP0(), ANGLE_180 } );
                 addChain( chain );
                 AddSuccess();
-                break;
             }
+
+            break;
         }
+
         default:
             // Other shapes are not supported with exact outsets
             // (convex) POLY shouldn't be too traumatic and it would bring trapezoids for free.
             break;
         }
+
         break;
     }
     default:
diff --git a/utils/idftools/vrml_layer.cpp b/utils/idftools/vrml_layer.cpp
index 6773acd8fe..e25341760c 100644
--- a/utils/idftools/vrml_layer.cpp
+++ b/utils/idftools/vrml_layer.cpp
@@ -1874,7 +1874,6 @@ bool VRML_LAYER::Get3DTriangles( std::vector< double >& aVertexList,
     // compile indices for the walls joining top to bottom
     int lastPoint;
     int curPoint;
-    int curContour = 0;
 
     std::list< std::list< int >* >::const_iterator  obeg = outline.begin();
     std::list< std::list< int >* >::const_iterator  oend = outline.end();
@@ -1891,7 +1890,6 @@ bool VRML_LAYER::Get3DTriangles( std::vector< double >& aVertexList,
         if( cp->size() < 3 )
         {
             ++obeg;
-            ++curContour;
             continue;
         }
 
@@ -1956,7 +1954,6 @@ bool VRML_LAYER::Get3DTriangles( std::vector< double >& aVertexList,
         }
 
         ++obeg;
-        ++curContour;
     }
 
     return true;