[libc++] Remove visibility-related warnings with Clang 8

The attributes were placed incorrectly -- they need to be after the
"struct" keyword, not before.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@355006 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__node_handle b/include/__node_handle
index 7f3bd9d..e543fa9 100644
--- a/include/__node_handle
+++ b/include/__node_handle
@@ -193,8 +193,7 @@
     __basic_node_handle< _NodeType, _Alloc, __map_node_handle_specifics>;
 
 template <class _Iterator, class _NodeType>
-_LIBCPP_TEMPLATE_VIS
-struct __insert_return_type
+struct _LIBCPP_TEMPLATE_VIS __insert_return_type
 {
     _Iterator position;
     bool inserted;
diff --git a/include/experimental/functional b/include/experimental/functional
index 8c55f4f..755eda6 100644
--- a/include/experimental/functional
+++ b/include/experimental/functional
@@ -109,8 +109,7 @@
 #if _LIBCPP_STD_VER > 11
 // default searcher
 template<class _ForwardIterator, class _BinaryPredicate = equal_to<>>
-_LIBCPP_TYPE_VIS
-class default_searcher {
+class _LIBCPP_TYPE_VIS default_searcher {
 public:
     _LIBCPP_INLINE_VISIBILITY
     default_searcher(_ForwardIterator __f, _ForwardIterator __l, 
@@ -208,8 +207,7 @@
 template <class _RandomAccessIterator1, 
           class _Hash = hash<typename iterator_traits<_RandomAccessIterator1>::value_type>, 
           class _BinaryPredicate = equal_to<>>
-_LIBCPP_TYPE_VIS
-class boyer_moore_searcher {
+class _LIBCPP_TYPE_VIS boyer_moore_searcher {
 private:
     typedef typename std::iterator_traits<_RandomAccessIterator1>::difference_type difference_type;
     typedef typename std::iterator_traits<_RandomAccessIterator1>::value_type      value_type;
@@ -360,8 +358,7 @@
 template <class _RandomAccessIterator1, 
           class _Hash = hash<typename iterator_traits<_RandomAccessIterator1>::value_type>, 
           class _BinaryPredicate = equal_to<>>
-_LIBCPP_TYPE_VIS
-class boyer_moore_horspool_searcher {
+class _LIBCPP_TYPE_VIS boyer_moore_horspool_searcher {
 private:
     typedef typename std::iterator_traits<_RandomAccessIterator1>::difference_type difference_type;
     typedef typename std::iterator_traits<_RandomAccessIterator1>::value_type      value_type;