Mark 'front()' and 'back()' as noexcept for array/deque/string/string_view. These are just rebranded 'operator[]', and should be noexcept like it is.

llvm-svn: 356435
diff --git a/libcxx/test/std/strings/basic.string/string.access/back.pass.cpp b/libcxx/test/std/strings/basic.string/string.access/back.pass.cpp
index 3831da0..dd2a59a 100644
--- a/libcxx/test/std/strings/basic.string/string.access/back.pass.cpp
+++ b/libcxx/test/std/strings/basic.string/string.access/back.pass.cpp
@@ -25,6 +25,10 @@
 test(S s)
 {
     const S& cs = s;
+    ASSERT_SAME_TYPE(decltype( s.back()), typename S::reference);
+    ASSERT_SAME_TYPE(decltype(cs.back()), typename S::const_reference);
+    LIBCPP_ASSERT_NOEXCEPT(    s.back());
+    LIBCPP_ASSERT_NOEXCEPT(   cs.back());
     assert(&cs.back() == &cs[cs.size()-1]);
     assert(&s.back() == &s[cs.size()-1]);
     s.back() = typename S::value_type('z');