Fix PR 22106; make std::swap work for multi-dimensional arrays. Thanks to Peter Griess for the report and suggested fix

llvm-svn: 225285
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: d632356aa311d4c5e3ac5edb30b3cbe51aa69f48
diff --git a/include/utility b/include/utility
index 6f324db..2cb1018 100644
--- a/include/utility
+++ b/include/utility
@@ -202,6 +202,10 @@
 
 // swap_ranges
 
+// forward
+template<class _Tp, size_t _Np>
+void swap(_Tp (&__a)[_Np], _Tp (&__b)[_Np]) _NOEXCEPT_(__is_nothrow_swappable<_Tp>::value);
+
 template <class _ForwardIterator1, class _ForwardIterator2>
 inline _LIBCPP_INLINE_VISIBILITY
 _ForwardIterator2