[libcxx] Remove bad_array_length

Summary:
std::bad_array_length was added by n3467, but this never made it into C++.
This commit removes the definition of std::bad_array_length from the headers
AND from the shared library. See the comments in the ABI changelog for details
about the ABI implications of this change.

Reviewers: mclow.lists, dexonsmith, howard.hinnant, EricWF

Subscribers: christof, jkorous, libcxx-commits

Differential Revision: https://reviews.llvm.org/D54804

llvm-svn: 347903
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: e823b6d7e616b8338b5c2690f0e15e8b1b10b1c7
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index b7ad2e2..20be9f6 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -52,3 +52,11 @@
   std::dynarray was a feature proposed for C++14 that was pulled from the
   Standard at the last minute and was never standardized. Since there are no
   plans to standardize this facility it is being removed.
+- Starting with LLVM 8.0.0, std::bad_array_length has been removed from the
+  library. std::bad_array_length was a feature proposed for C++14 alongside
+  std::dynarray, but it never actually made it into the C++ Standard. There
+  are no plans to standardize this feature at this time. Formally speaking,
+  this removal constitutes an ABI break because the symbols were shipped in
+  the shared library. However, on macOS systems, the feature was not usable
+  because it was hidden behind availability annotations. We do not expect
+  any actual breakage to happen from this change.