am e6eb0085: Merge "Fix compilation with clang and GCC 4.7"

* commit 'e6eb0085f1b6f32d4a9f7b75c0002e48c35d4eb1':
  Fix compilation with clang and GCC 4.7
diff --git a/stlport/stl/_rope.h b/stlport/stl/_rope.h
index f100f67..cc391f7 100644
--- a/stlport/stl/_rope.h
+++ b/stlport/stl/_rope.h
@@ -905,7 +905,9 @@
   }
   reference operator*() {
     if (0 == this->_M_buf_ptr)
-#if !defined (__DMC__)
+#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ > 4 || __GNUC_MINOR__ >= 7))
+      this->_S_setcache(*this);
+#elif !defined (__DMC__)
       _S_setcache(*this);
 #else
     { _Rope_iterator_base<_CharT, _Alloc>* __x = this; _S_setcache(*__x); }