summaryrefslogtreecommitdiffstats
path: root/libcxx
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2015-10-29 05:43:30 +0000
committerMarshall Clow <mclow.lists@gmail.com>2015-10-29 05:43:30 +0000
commit131733bcf0ca8aabab5cb39f2613cec891afc0bd (patch)
tree46dd97c127dbde566a15d3366c68f44fd3ed759e /libcxx
parent45bd8ce64c53f86711f5a5ce61db751a3640d0d1 (diff)
downloadbcm5719-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/ios15
-rw-r--r--libcxx/test/std/depr/depr.ios.members/io_state.pass.cpp5
-rw-r--r--libcxx/test/std/depr/depr.ios.members/open_mode.pass.cpp5
-rw-r--r--libcxx/test/std/depr/depr.ios.members/seek_dir.pass.cpp5
-rw-r--r--libcxx/test/std/depr/depr.ios.members/streamoff.pass.cpp5
-rw-r--r--libcxx/test/std/depr/depr.ios.members/streampos.pass.cpp5
-rw-r--r--libcxx/www/cxx1z_status.html2
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 &lt;chrono&gt;</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>
OpenPOWER on IntegriCloud