diff --git a/sources/cxx-stl/gabi++/src/call_unexpected.cc b/sources/cxx-stl/gabi++/src/call_unexpected.cc
index 9e907d8..376360d 100644
--- a/sources/cxx-stl/gabi++/src/call_unexpected.cc
+++ b/sources/cxx-stl/gabi++/src/call_unexpected.cc
@@ -282,7 +282,7 @@
         std::terminate();
       }
       uint8_t lpStartEncoding = *lsda++;
-      const uint8_t* lpStart = (const uint8_t*)readEncodedPointer(&lsda, lpStartEncoding);
+      readEncodedPointer(&lsda, lpStartEncoding);
       uint8_t ttypeEncoding = *lsda++;
       if (ttypeEncoding == DW_EH_PE_omit) {
         terminate_helper(t_handler);
diff --git a/sources/cxx-stl/gabi++/src/cxxabi.cc b/sources/cxx-stl/gabi++/src/cxxabi.cc
index d65d9a9..34f7f97 100644
--- a/sources/cxx-stl/gabi++/src/cxxabi.cc
+++ b/sources/cxx-stl/gabi++/src/cxxabi.cc
@@ -307,6 +307,7 @@
 // this.
 #warning "not implemented."
 #endif /* defined(GABIXX_LIBCXX) */
+    return NULL;
   }
 
 } // namespace __cxxabiv1
diff --git a/sources/cxx-stl/stlport/stlport/stl/_slist.c b/sources/cxx-stl/stlport/stlport/stl/_slist.c
index ba158d0..107b600 100644
--- a/sources/cxx-stl/stlport/stlport/stl/_slist.c
+++ b/sources/cxx-stl/stlport/stlport/stl/_slist.c
@@ -148,7 +148,6 @@
 void _Slist_merge(slist<_Tp, _Alloc>& __that, slist<_Tp, _Alloc>& __x,
                   _StrictWeakOrdering __comp) {
   typedef _Slist_node<_Tp> _Node;
-  typedef _STLP_PRIV _Slist_node_base _Node_base;
   if (__that.get_allocator() == __x.get_allocator()) {
     typename slist<_Tp, _Alloc>::iterator __ite(__that.before_begin());
     while (__ite._M_node->_M_next && !__x.empty()) {
diff --git a/sources/cxx-stl/stlport/stlport/stl/_stdexcept_base.c b/sources/cxx-stl/stlport/stlport/stl/_stdexcept_base.c
index deb7056..3ff3c66 100644
--- a/sources/cxx-stl/stlport/stlport/stl/_stdexcept_base.c
+++ b/sources/cxx-stl/stlport/stlport/stl/_stdexcept_base.c
@@ -64,7 +64,7 @@
 
 __Named_exception& __Named_exception::operator = (const __Named_exception& __x) {
   size_t __size = strlen(__x._M_name) + 1;
-  size_t __buf_size = _M_name != _M_static_name ? *(__REINTERPRET_CAST(size_t*, &_M_static_name[0])) : _S_bufsize;
+  size_t __buf_size = _M_name != _M_static_name ? *(__REINTERPRET_CAST(size_t*, &_M_static_name[0])) : static_cast<size_t>(_S_bufsize);
   if (__size > __buf_size) {
     // Being here necessarily mean that we need to allocate a buffer:
     if (_M_name != _M_static_name) free(_M_name);
diff --git a/sources/cxx-stl/stlport/stlport/stl/_time_facets.c b/sources/cxx-stl/stlport/stlport/stl/_time_facets.c
index f403817..a907ad5 100644
--- a/sources/cxx-stl/stlport/stlport/stl/_time_facets.c
+++ b/sources/cxx-stl/stlport/stlport/stl/_time_facets.c
@@ -151,7 +151,6 @@
                                  _Ch*, const _TimeInfo& __table,
                                  const ios_base& __s, ios_base::iostate& __err, tm* __t) {
   const ctype<_Ch>& __ct = use_facet<ctype<_Ch> >(__s.getloc());
-  typedef basic_string<_Ch, char_traits<_Ch>, allocator<_Ch> > string_type;
   size_t offset;
 
   while (__first != __last && __format != __format_end) {
diff --git a/sources/cxx-stl/stlport/stlport/stl/config/features.h b/sources/cxx-stl/stlport/stlport/stl/config/features.h
index 8524cb8..dc30ecc 100644
--- a/sources/cxx-stl/stlport/stlport/stl/config/features.h
+++ b/sources/cxx-stl/stlport/stlport/stl/config/features.h
@@ -1052,7 +1052,7 @@
 #define _STLP_ARRAY_AND_SIZE(A) A, sizeof(A) / sizeof(A[0])
 
 #if !defined (_STLP_MARK_PARAMETER_AS_UNUSED)
-#  define _STLP_MARK_PARAMETER_AS_UNUSED(X) (void*)X;
+#  define _STLP_MARK_PARAMETER_AS_UNUSED(X) (void)X;
 #endif
 
 #if defined (_STLP_CHECK_RUNTIME_COMPATIBILITY)
