Merge "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); }