`_LIBCPP_ELAST` is sparsely used, and it already drags in `<errno.h>`. I think we should just find a new place for it to live. It's only used in `src/system_error.cpp` and `src/ios.cpp` so it doesn't even have to live in the headers. http://reviews.llvm.org/D6558