diff options
| author | Marshall Clow <mclow.lists@gmail.com> | 2015-10-29 05:43:30 +0000 |
|---|---|---|
| committer | Marshall Clow <mclow.lists@gmail.com> | 2015-10-29 05:43:30 +0000 |
| commit | 131733bcf0ca8aabab5cb39f2613cec891afc0bd (patch) | |
| tree | 46dd97c127dbde566a15d3366c68f44fd3ed759e /libcxx | |
| parent | 45bd8ce64c53f86711f5a5ce61db751a3640d0d1 (diff) | |
| download | bcm5719-llvm-131733bcf0ca8aabab5cb39f2613cec891afc0bd.tar.gz bcm5719-llvm-131733bcf0ca8aabab5cb39f2613cec891afc0bd.zip | |
Implement P0004R1 'Remove Deprecated iostreams aliases'
llvm-svn: 251618
Diffstat (limited to 'libcxx')
| -rw-r--r-- | libcxx/include/ios | 15 | ||||
| -rw-r--r-- | libcxx/test/std/depr/depr.ios.members/io_state.pass.cpp | 5 | ||||
| -rw-r--r-- | libcxx/test/std/depr/depr.ios.members/open_mode.pass.cpp | 5 | ||||
| -rw-r--r-- | libcxx/test/std/depr/depr.ios.members/seek_dir.pass.cpp | 5 | ||||
| -rw-r--r-- | libcxx/test/std/depr/depr.ios.members/streamoff.pass.cpp | 5 | ||||
| -rw-r--r-- | libcxx/test/std/depr/depr.ios.members/streampos.pass.cpp | 5 | ||||
| -rw-r--r-- | libcxx/www/cxx1z_status.html | 2 |
7 files changed, 35 insertions, 7 deletions
diff --git a/libcxx/include/ios b/libcxx/include/ios index 8843ed4ca85..1deb5f613c8 100644 --- a/libcxx/include/ios +++ b/libcxx/include/ios @@ -114,9 +114,9 @@ class basic_ios public: // types: typedef charT char_type; - typedef typename traits::int_type int_type; - typedef typename traits::pos_type pos_type; - typedef typename traits::off_type off_type; + typedef typename traits::int_type int_type; // removed in C++17 + typedef typename traits::pos_type pos_type; // removed in C++17 + typedef typename traits::off_type off_type; // removed in C++17 typedef traits traits_type; operator unspecified-bool-type() const; @@ -254,14 +254,12 @@ public: static const fmtflags floatfield = scientific | fixed; typedef unsigned int iostate; - typedef iostate io_state; static const iostate badbit = 0x1; static const iostate eofbit = 0x2; static const iostate failbit = 0x4; static const iostate goodbit = 0x0; typedef unsigned int openmode; - typedef openmode open_mode; static const openmode app = 0x01; static const openmode ate = 0x02; static const openmode binary = 0x04; @@ -270,10 +268,15 @@ public: static const openmode trunc = 0x20; enum seekdir {beg, cur, end}; - typedef seekdir seek_dir; + +#if _LIBCPP_STD_VER <= 14 + typedef iostate io_state; + typedef openmode open_mode; + typedef seekdir seek_dir; typedef _VSTD::streamoff streamoff; typedef _VSTD::streampos streampos; +#endif class _LIBCPP_TYPE_VIS Init; diff --git a/libcxx/test/std/depr/depr.ios.members/io_state.pass.cpp b/libcxx/test/std/depr/depr.ios.members/io_state.pass.cpp index 15bfbf19780..6b362d01603 100644 --- a/libcxx/test/std/depr/depr.ios.members/io_state.pass.cpp +++ b/libcxx/test/std/depr/depr.ios.members/io_state.pass.cpp @@ -15,11 +15,16 @@ // typedef T1 io_state; // }; +// These members were removed for C++17 + +#include "test_macros.h" #include <strstream> #include <cassert> int main() { +#if TEST_STD_VER <= 14 std::strstream::io_state b = std::strstream::eofbit; assert(b == std::ios::eofbit); +#endif } diff --git a/libcxx/test/std/depr/depr.ios.members/open_mode.pass.cpp b/libcxx/test/std/depr/depr.ios.members/open_mode.pass.cpp index 12a8e945880..cf91e7c9d1d 100644 --- a/libcxx/test/std/depr/depr.ios.members/open_mode.pass.cpp +++ b/libcxx/test/std/depr/depr.ios.members/open_mode.pass.cpp @@ -15,11 +15,16 @@ // typedef T2 open_mode; // }; +// These members were removed for C++17 + +#include "test_macros.h" #include <strstream> #include <cassert> int main() { +#if TEST_STD_VER <= 14 std::strstream::open_mode b = std::strstream::app; assert(b == std::ios::app); +#endif } diff --git a/libcxx/test/std/depr/depr.ios.members/seek_dir.pass.cpp b/libcxx/test/std/depr/depr.ios.members/seek_dir.pass.cpp index 891a7a34563..0dd70c10185 100644 --- a/libcxx/test/std/depr/depr.ios.members/seek_dir.pass.cpp +++ b/libcxx/test/std/depr/depr.ios.members/seek_dir.pass.cpp @@ -15,11 +15,16 @@ // typedef T3 seek_dir; // }; +// These members were removed for C++17 + +#include "test_macros.h" #include <strstream> #include <cassert> int main() { +#if TEST_STD_VER <= 14 std::strstream::seek_dir b = std::strstream::cur; assert(b == std::ios::cur); +#endif } diff --git a/libcxx/test/std/depr/depr.ios.members/streamoff.pass.cpp b/libcxx/test/std/depr/depr.ios.members/streamoff.pass.cpp index 4ccfd1f7d22..0c237b3547d 100644 --- a/libcxx/test/std/depr/depr.ios.members/streamoff.pass.cpp +++ b/libcxx/test/std/depr/depr.ios.members/streamoff.pass.cpp @@ -15,11 +15,16 @@ // typedef OFF_T streamoff; // }; +// These members were removed for C++17 + +#include "test_macros.h" #include <ios> #include <type_traits> int main() { +#if TEST_STD_VER <= 14 static_assert((std::is_integral<std::ios_base::streamoff>::value), ""); static_assert((std::is_signed<std::ios_base::streamoff>::value), ""); +#endif } diff --git a/libcxx/test/std/depr/depr.ios.members/streampos.pass.cpp b/libcxx/test/std/depr/depr.ios.members/streampos.pass.cpp index 315118cb3e3..863905f710e 100644 --- a/libcxx/test/std/depr/depr.ios.members/streampos.pass.cpp +++ b/libcxx/test/std/depr/depr.ios.members/streampos.pass.cpp @@ -15,10 +15,15 @@ // typedef POS_T streampos; // }; +// These members were removed for C++17 + +#include "test_macros.h" #include <ios> #include <type_traits> int main() { +#if TEST_STD_VER <= 14 static_assert((std::is_same<std::ios_base::streampos, std::streampos>::value), ""); +#endif } diff --git a/libcxx/www/cxx1z_status.html b/libcxx/www/cxx1z_status.html index ce5afd8e895..73d8a1cb4ea 100644 --- a/libcxx/www/cxx1z_status.html +++ b/libcxx/www/cxx1z_status.html @@ -70,7 +70,7 @@ <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4366">N4366</a></td><td>LWG</td></td><td>LWG 2228 missing SFINAE rule</td><td>Lenexa</td><td>Complete</td><td>3.1</td></tr> <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4510">N4510</a></td><td>LWG</td></td><td>Minimal incomplete type support for standard containers, revision 4</td><td>Lenexa</td><td>Complete</td><td>3.6</td></tr> <tr><td></td><td></td><td></td><td></td><td></td><td></td></tr> - <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/P0004R1.html">P0004R1</a></td><td>LWG</td><td>Remove Deprecated iostreams aliases.</td><td>Kona</td><td></td><td></td></tr> + <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/P0004R1.html">P0004R1</a></td><td>LWG</td><td>Remove Deprecated iostreams aliases.</td><td>Kona</td><td>Complete</td><td>3.8</td></tr> <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/P0006R0.html">P0006R0</a></td><td>LWG</td><td>Adopt Type Traits Variable Templates for C++17.</td><td>Kona</td><td>In progress</td><td></td></tr> <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/P0092R1.html">P0092R1</a></td><td>LWG</td><td>Polishing <chrono></td><td>Kona</td><td></td><td></td></tr> <tr><td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/P0007R1.html">P0007R1</a></td><td>LWG</td><td>Constant View: A proposal for a <tt>std::as_const</tt> helper function template.</td><td>Kona</td><td>In progress</td><td></td></tr> |

