Author: marshall Date: Thu Oct 29 00:43:30 2015 New Revision: 251618 URL: http://llvm.org/viewvc/llvm-project?rev=251618&view=rev Log: Implement P0004R1 'Remove Deprecated iostreams aliases'
Modified: libcxx/trunk/include/ios libcxx/trunk/test/std/depr/depr.ios.members/io_state.pass.cpp libcxx/trunk/test/std/depr/depr.ios.members/open_mode.pass.cpp libcxx/trunk/test/std/depr/depr.ios.members/seek_dir.pass.cpp libcxx/trunk/test/std/depr/depr.ios.members/streamoff.pass.cpp libcxx/trunk/test/std/depr/depr.ios.members/streampos.pass.cpp libcxx/trunk/www/cxx1z_status.html Modified: libcxx/trunk/include/ios URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ios?rev=251618&r1=251617&r2=251618&view=diff ============================================================================== --- libcxx/trunk/include/ios (original) +++ libcxx/trunk/include/ios Thu Oct 29 00:43:30 2015 @@ -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; Modified: libcxx/trunk/test/std/depr/depr.ios.members/io_state.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.ios.members/io_state.pass.cpp?rev=251618&r1=251617&r2=251618&view=diff ============================================================================== --- libcxx/trunk/test/std/depr/depr.ios.members/io_state.pass.cpp (original) +++ libcxx/trunk/test/std/depr/depr.ios.members/io_state.pass.cpp Thu Oct 29 00:43:30 2015 @@ -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 } Modified: libcxx/trunk/test/std/depr/depr.ios.members/open_mode.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.ios.members/open_mode.pass.cpp?rev=251618&r1=251617&r2=251618&view=diff ============================================================================== --- libcxx/trunk/test/std/depr/depr.ios.members/open_mode.pass.cpp (original) +++ libcxx/trunk/test/std/depr/depr.ios.members/open_mode.pass.cpp Thu Oct 29 00:43:30 2015 @@ -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 } Modified: libcxx/trunk/test/std/depr/depr.ios.members/seek_dir.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.ios.members/seek_dir.pass.cpp?rev=251618&r1=251617&r2=251618&view=diff ============================================================================== --- libcxx/trunk/test/std/depr/depr.ios.members/seek_dir.pass.cpp (original) +++ libcxx/trunk/test/std/depr/depr.ios.members/seek_dir.pass.cpp Thu Oct 29 00:43:30 2015 @@ -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 } Modified: libcxx/trunk/test/std/depr/depr.ios.members/streamoff.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.ios.members/streamoff.pass.cpp?rev=251618&r1=251617&r2=251618&view=diff ============================================================================== --- libcxx/trunk/test/std/depr/depr.ios.members/streamoff.pass.cpp (original) +++ libcxx/trunk/test/std/depr/depr.ios.members/streamoff.pass.cpp Thu Oct 29 00:43:30 2015 @@ -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 } Modified: libcxx/trunk/test/std/depr/depr.ios.members/streampos.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.ios.members/streampos.pass.cpp?rev=251618&r1=251617&r2=251618&view=diff ============================================================================== --- libcxx/trunk/test/std/depr/depr.ios.members/streampos.pass.cpp (original) +++ libcxx/trunk/test/std/depr/depr.ios.members/streampos.pass.cpp Thu Oct 29 00:43:30 2015 @@ -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 } Modified: libcxx/trunk/www/cxx1z_status.html URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/cxx1z_status.html?rev=251618&r1=251617&r2=251618&view=diff ============================================================================== --- libcxx/trunk/www/cxx1z_status.html (original) +++ libcxx/trunk/www/cxx1z_status.html Thu Oct 29 00:43:30 2015 @@ -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> _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits