--- boost/boost/multi_index/sequenced_index.hpp	2008-07-03 18:51:53.000000000 +0200
+++ boost/boost/multi_index/sequenced_index.hpp	2013-05-17 15:44:15.265289335 +0200
@@ -346,7 +346,7 @@
   }
 
   template<typename Modifier,typename Rollback>
-  bool modify(iterator position,Modifier mod,Rollback back)
+  bool modify(iterator position,Modifier mod,Rollback back_)
   {
     BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(position);
     BOOST_MULTI_INDEX_CHECK_DEREFERENCEABLE_ITERATOR(position);
@@ -363,7 +363,7 @@
 #endif
 
     return this->final_modify_(
-      mod,back,static_cast<final_node_type*>(position.get_node()));
+      mod,back_,static_cast<final_node_type*>(position.get_node()));
   }
 
   void swap(sequenced_index<SuperMeta,TagList>& x)
--- boost/boost/multi_index_container.hpp	2010-07-24 11:20:29.000000000 +0200
+++ boost/boost/multi_index_container.hpp	2013-05-17 15:45:56.723899853 +0200
@@ -360,7 +360,7 @@
     IteratorType it
     BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))
   {
-    typedef typename nth_index<N>::type index;
+    typedef typename nth_index<N>::type index_;
 
 #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
     BOOST_STATIC_ASSERT(
@@ -371,7 +371,7 @@
     BOOST_MULTI_INDEX_CHECK_IS_OWNER(
       it,static_cast<typename IteratorType::container_type&>(*this));
 
-    return index::make_iterator(static_cast<node_type*>(it.get_node()));
+    return index_::make_iterator(static_cast<node_type*>(it.get_node()));
   }
 
   template<int N,typename IteratorType>
@@ -379,7 +379,7 @@
     IteratorType it
     BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE(int,N))const
   {
-    typedef typename nth_index<N>::type index;
+    typedef typename nth_index<N>::type index_;
 
 #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
     BOOST_STATIC_ASSERT((
@@ -390,7 +390,7 @@
     BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
     BOOST_MULTI_INDEX_CHECK_IS_OWNER(
       it,static_cast<const typename IteratorType::container_type&>(*this));
-    return index::make_iterator(static_cast<node_type*>(it.get_node()));
+    return index_::make_iterator(static_cast<node_type*>(it.get_node()));
   }
 #endif
 
@@ -414,7 +414,7 @@
     IteratorType it
     BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))
   {
-    typedef typename index<Tag>::type index;
+    typedef typename index<Tag>::type index_;
 
 #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
     BOOST_STATIC_ASSERT(
@@ -424,7 +424,7 @@
     BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
     BOOST_MULTI_INDEX_CHECK_IS_OWNER(
       it,static_cast<typename IteratorType::container_type&>(*this));
-    return index::make_iterator(static_cast<node_type*>(it.get_node()));
+    return index_::make_iterator(static_cast<node_type*>(it.get_node()));
   }
 
   template<typename Tag,typename IteratorType>
@@ -432,7 +432,7 @@
     IteratorType it
     BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag))const
   {
-    typedef typename index<Tag>::type index;
+    typedef typename index<Tag>::type index_;
 
 #if !defined(__SUNPRO_CC)||!(__SUNPRO_CC<0x580) /* fails in Sun C++ 5.7 */
     BOOST_STATIC_ASSERT((
@@ -443,7 +443,7 @@
     BOOST_MULTI_INDEX_CHECK_VALID_ITERATOR(it);
     BOOST_MULTI_INDEX_CHECK_IS_OWNER(
       it,static_cast<const typename IteratorType::container_type&>(*this));
-    return index::make_iterator(static_cast<node_type*>(it.get_node()));
+    return index_::make_iterator(static_cast<node_type*>(it.get_node()));
   }
 #endif
 
