Another installment on debug mode.  This addresses list.  However this should be considered a temporary state.  The API of the debug database and how vector and list use it, is unsatisfactory at the moment.  It is both inefficient and overly verbose.  I wanted to get this functionality checked in though.  In the next day or so I'll refactor what is there in an attempt to streamline things.

llvm-svn: 140660
diff --git a/libcxx/include/__debug b/libcxx/include/__debug
index e807fa5..cd3bd3a 100644
--- a/libcxx/include/__debug
+++ b/libcxx/include/__debug
@@ -60,7 +60,7 @@
     virtual bool __addable(const void*, ptrdiff_t) const = 0;
     virtual bool __subscriptable(const void*, ptrdiff_t) const = 0;
 
-    _LIBCPP_HIDDEN void __add(__i_node* __i);
+    void __add(__i_node* __i);
     _LIBCPP_HIDDEN void __remove(__i_node* __i);
 };
 
@@ -159,6 +159,7 @@
     void* __find_c_from_i(void* __i) const;
     void __invalidate_all(void* __c);
     __c_node* __find_c_and_lock(void* __c) const;
+    __c_node* __find_c(void* __c) const;
     void unlock() const;
 
     void swap(void* __c1, void* __c2);