• Home
  • History
  • Annotate
  • only in /external/libcxx/test/std/input.output/
History log of /external/libcxx/test/std/input.output/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c795c2a010758d782f530ab534cb0d68614c3241 03-Mar-2017 Mehdi Amini <mehdi.amini@apple.com> Fix libc++ test to pass in C++03 mode

Was hitting: "error: scalar initializer cannot be empty"

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@296889 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cstdio.pass.cpp
b7fd0be37076c8fe5a26a5850580426bcd4c0740 17-Feb-2017 Eric Fiselier <eric@efcs.ca> Update all bug URL's to point to https://bugs.llvm.org/...

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@295434 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
ostream.format/output.streams/ostream.seeks/seekp.pass.cpp
ostream.format/output.streams/ostream.seeks/seekp2.pass.cpp
16e2ba19dfffdcf9bba202eb8a27fd79e3d15303 18-Jan-2017 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Fix comment typos, strip trailing whitespace.

No functional change, no code review.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292434 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/quoted.manip/quoted_char.fail.cpp
c3564b92bcaa73fefde1cf5f7e159069f66f797c 18-Jan-2017 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Fix MSVC warnings C4127 and C6326 about constants.

MSVC has compiler warnings C4127 "conditional expression is constant" (enabled
by /W4) and C6326 "Potential comparison of a constant with another constant"
(enabled by /analyze). They're potentially useful, although they're slightly
annoying to library devs who know what they're doing. In the latest version of
the compiler, C4127 is suppressed when the compiler sees simple tests like
"if (name_of_thing)", so extracting comparison expressions into named
constants is a workaround. At the same time, using std::integral_constant
avoids C6326, which doesn't look at template arguments.

test/std/containers/sequences/vector.bool/emplace.pass.cpp
Replace 1 == 1 with true, which is the same as far as the library is concerned.

Fixes D28837.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292432 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
44dbdb4b855ce97be05efb4ceece7399b3830ffc 18-Jan-2017 Eric Fiselier <eric@efcs.ca> More configuration changes for running the test suite against MSVC's STL

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292337 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios.base/ios.base.storage/iword.pass.cpp
ostreams.base/ios.base/ios.base.storage/pword.pass.cpp
8eb066a1066b286c66109750cd7a91ed5a7693e7 06-Jan-2017 Eric Fiselier <eric@efcs.ca> Replace _LIBCPP_HAS_NO_DELETED_FUNCTIONS with _LIBCPP_CXX03_LANG

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@291278 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/input.streams/istream/istream.cons/copy.fail.cpp
ostream.format/input.streams/istream/istream.cons/move.pass.cpp
bc06f26c7fe403e4f4d2abbccc0bdd209cfc57ba 30-Dec-2016 Eric Fiselier <eric@efcs.ca> Recommit r290750: Fix PR19460 - std::ios is convertible to int.

There were two problems with the initial fix.

1. The added tests flushed out that we misconfigured _LIBCPP_EXPLICIT with GCC.

2. Because the boolean type was a member function template it caused weird link
errors. I'm assuming due to the vague linkage rules. This time the bool type
is a non-template member function pointer. That seems to have fixed the
failing tests. Plus it will end up generating less symbols overall, since
the bool type is no longer per instantiation.

original commit message below
-----------------------------

std::basic_ios has an operator bool(). In C++11 and later
it is explicit, and only allows contextual implicit conversions.

However explicit isn't available in C++03 which causes std::istream (et al)
to have an implicit conversion to int. This can easily cause ambiguities
when calling operator<< and operator>>.

This patch uses a "bool-like" type in C++03 to work around this. The
"bool-like" type is an arbitrary pointer to member function type. It
will not convert to either int or void*, but will convert to bool.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290754 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/iostate.flags/bool.pass.cpp
6ce93e5bd4192900e8d12dc01dd4efb0c9609f1f 30-Dec-2016 Eric Fiselier <eric@efcs.ca> Revert r290750 - Fix PR19460 - std::ios is convertible to int.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290752 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/iostate.flags/bool.pass.cpp
01153d5a73f13a8ad358ae020f439332d6153485 30-Dec-2016 Eric Fiselier <eric@efcs.ca> Add missing include in test.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290751 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/iostate.flags/bool.pass.cpp
687c0bbee4bc43513452c5b46b6382554e36952f 30-Dec-2016 Eric Fiselier <eric@efcs.ca> Fix PR19460 - std::ios is convertible to int.

std::basic_ios has an operator bool(). In C++11 and later
it is explicit, and only allows contextual implicit conversions.

However explicit isn't available in C++03 which causes std::istream (et al)
to have an implicit conversion to int. This can easily cause ambiguities
when calling operator<< and operator>>.

This patch uses a "bool-like" type in C++03 to work around this. The
"bool-like" type is an arbitrary pointer to member function type. It
will not convert to either int or void*, but will convert to bool.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290750 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/iostate.flags/bool.pass.cpp
f62eee4fe754f48467a215bfb1a9d58592ce7027 24-Dec-2016 Eric Fiselier <eric@efcs.ca> Fix warning caused by platforms providing a signed wint_t

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290477 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/fstreams/filebuf.virtuals/underflow.pass.cpp
0e5ebbc77c3c2cfd7d835fcfe40fcb65df0c5598 24-Dec-2016 Eric Fiselier <eric@efcs.ca> Fix unused parameters and variables

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@290459 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
b988a6fb4179b409c4f2ff6d424dbd03092f6de3 12-Dec-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Change ifstream constructor tests to handle read-only files.

Certain source control systems like to set the read-only bit on their files,
which interferes with opening "test.dat" for both input and output.
Fortunately, we can work around this without losing test coverage.
Now, the ifstream.cons tests have comments referring to the ofstream.cons tests.
There, we're creating writable files (not checked into source control),
where the ifstream constructor tests will succeed.

Fixes D26814.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289463 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/fstreams/ifstream.cons/pointer.pass.cpp
ile.streams/fstreams/ifstream.cons/string.pass.cpp
ile.streams/fstreams/ofstream.cons/pointer.pass.cpp
ile.streams/fstreams/ofstream.cons/string.pass.cpp
a2cd27094316a83e188727fe0478b5f0dfd0a055 11-Dec-2016 Eric Fiselier <eric@efcs.ca> Enable the -Wsign-compare warning to better support MSVC

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289363 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/fstreams/filebuf.virtuals/underflow.pass.cpp
3e541a6172e39ead4fad233ec02c1898c006a0ac 08-Dec-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Fix MSVC warning C4244 "conversion from 'X' to 'Y', possible loss of data", part 7/7.

test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
Add static_cast<char> because basic_istream::get() returns int_type (N4606 27.7.2.3 [istream.unformatted]/4).

test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
Add static_cast<char> because toupper() returns int (C11 7.4.2.2/1).

test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/assign_t.pass.cpp
This test is intentionally writing doubles to ostream_iterator<int>.
It's silencing -Wliteral-conversion for Clang, so I'm adding C4244 silencing for MSVC.

test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp
Given `extern float zero;`, the expression `1./zero` has type double, which emits a truncation warning
when being passed to test<float>() taking float. The fix is to say `1.f/zero` which has type float.

test/std/numerics/complex.number/cmplx.over/arg.pass.cpp
test/std/numerics/complex.number/cmplx.over/norm.pass.cpp
These tests were constructing std::complex<double>(x, 0), emitting truncation warnings when x is long long.
Saying static_cast<double>(x) avoids this.

test/std/numerics/rand/rand.eng/rand.eng.lcong/seed_result_type.pass.cpp
This was using `int s` to construct and seed a linear_congruential_engine<T, stuff>, where T is
unsigned short/unsigned int/unsigned long/unsigned long long. That emits a truncation warning in the
unsigned short case. Because the range [0, 20) is tiny and we aren't doing anything else with the index,
we can just iterate with `T s`.

test/std/re/re.traits/value.pass.cpp
regex_traits<wchar_t>::value()'s first parameter is wchar_t (N4606 28.7 [re.traits]/13). This loop is
using int to iterate through ['g', 0xFFFF), emitting a truncation warning from int to wchar_t
(which is 16-bit for some of us). Because the bound is exclusive, we can just iterate with wchar_t.

test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp
This test is a little strange. It's trying to verify that basic_string's (InIt, InIt) range constructor
isn't confused by "N copies of C" when N and C have the same integral type. To do this, it was
testing (100, 65), but that eventually emits truncation warnings from int to char. There's a simple way
to avoid this - passing (static_cast<char>(100), static_cast<char>(65)) also exercises the disambiguation.
(And 100 is representable even when char has a signed range.)

test/std/strings/string.view/string.view.hash/string_view.pass.cpp
Add static_cast<char_type> because `'0' + i` has type int.

test/std/utilities/function.objects/bind/func.bind/func.bind.bind/nested.pass.cpp
What's more horrible than nested bind()? pow() overloads! This operator()(T a, T b) was assuming that
std::pow(a, b) can be returned as T. (In this case, T is int.) However, N4606 26.9.1 [cmath.syn]/2
says that pow(int, int) returns double, so this was truncating double to int.
Adding static_cast<T> silences this.

test/std/utilities/function.objects/unord.hash/integral.pass.cpp
This was iterating `for (int i = 0; i <= 5; ++i)` and constructing `T t(i);` but that's truncating
when T is short. (And super truncating when T is bool.) Adding static_cast<T> silences this.

test/std/utilities/utility/exchange/exchange.pass.cpp
First, this was exchanging 67.2 into an int, but that's inherently truncating.
Changing this to static_cast<short>(67) avoids the truncation while preserving the
"what if T and U are different" test coverage.
Second, this was exchanging {} with the explicit type float into an int, and that's also
inherently truncating. Specifying short is just as good.

test/std/utilities/utility/pairs/pairs.spec/make_pair.pass.cpp
Add static_cast<short>. Note that this affects template argument deduction for make_pair(),
better fulfilling the test's intent. For example, this was saying
`typedef std::pair<int, short> P1; P1 p1 = std::make_pair(3, 4);` but that was asking
make_pair() to return pair<int, int>, which was then being converted to pair<int, short>.
(pair's converting constructors are tested elsewhere.)
Now, std::make_pair(3, static_cast<short>(4)) actually returns pair<int, short>.
(There's still a conversion from pair<nullptr_t, short> to pair<unique_ptr<int>, short>.)

Fixes D27544.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289111 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/input.streams/istream.unformatted/get.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
f1cc7ff4c9a82e066f813fe9283d7b3758536f56 08-Dec-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Fix MSVC warning C4244 "conversion from 'X' to 'Y', possible loss of data", part 6/7.

test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp
(Affects 64-bit architectures.) Include <cstddef> so we can take/return std::ptrdiff_t
(instead of int) in random_shuffle()'s RNG. (C++14 D.12 [depr.alg.random.shuffle]/2 says that
difference_type is used, and we're shuffling a plain array.)

test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
(Affects 64-bit architectures.) Include <iterator> because we're already using iterator_traits.
Then, store the result of subtracting two RanIts as difference_type instead of long
(which truncates on LLP64 architectures like MSVC x64).

test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
(Affects 64-bit architectures.) Include <cstddef> so we can store the result of
subtracting two pointers as std::ptrdiff_t (instead of int).

test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
(Affects 32-bit architectures.) Sometimes, size_t is too small. That's the case here,
where tellg() returns pos_type (N4606 27.7.2.3 [istream.unformatted]/39). Implementations can
have 64-bit pos_type (to handle large files) even when they have 32-bit size_t.

Fixes D27543.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289110 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
c53fd92b0f059882ee415b8371d3f0cf8478aa3a 08-Dec-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Fix MSVC warning C4244 "conversion from 'X' to 'Y', possible loss of data", part 1/7.

Given `std::basic_streambuf<CharT>::int_type __c`, `std::basic_string<CharT> str_`,
and having checked `__c != std::basic_streambuf<CharT>::traits_type::eof()` (substituting typedefs
for clarity), the line `str_.push_back(__c);` is safe according to humans, but truncates according
to compilers. `str_.push_back(static_cast<CharT>(__c));` avoids that problem.

Fixes D27538.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289105 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/ext.manip/put_time.pass.cpp
ostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp
ostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/bool.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/double.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/float.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/int.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_double.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/short.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_int.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_short.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/basic_ios.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/ios_base.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/ostream.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/streambuf.pass.cpp
ostream.format/output.streams/ostream.manip/endl.pass.cpp
ostream.format/output.streams/ostream.manip/ends.pass.cpp
ostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
ostream.format/output.streams/ostream.unformatted/put.pass.cpp
ostream.format/output.streams/ostream.unformatted/write.pass.cpp
52b1b1733690da2a86aba52f7c76e9f0b89ea0ab 08-Dec-2016 Eric Fiselier <eric@efcs.ca> Avoid C++17 guaranteed copy elision when testing for non-copyability

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@289033 91177308-0d34-0410-b5e6-96231b3b80d8
tream.buffers/streambuf/streambuf.cons/copy.fail.cpp
7a477f58867d11c9a85a374c6f237577e43156c2 06-Dec-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] D27267: Fix MSVC x64 warning C4267 "conversion from 'size_t' to 'int' [or 'unsigned int'], possible loss of data", part 1/4.

Replace "int n = str_.size();" with "int n = static_cast<int>(str_.size());".

int is the correct type to use, because we're eventually calling
"base::pbump(n+1);" where base is std::basic_streambuf.
N4606 27.6.3.3.3 [streambuf.put.area]/4 declares: "void pbump(int n);"

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288751 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/ext.manip/put_time.pass.cpp
ostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp
ostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/bool.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/double.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/float.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/int.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_double.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/short.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_int.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_short.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/basic_ios.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/ios_base.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/ostream.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/streambuf.pass.cpp
ostream.format/output.streams/ostream.manip/endl.pass.cpp
ostream.format/output.streams/ostream.manip/ends.pass.cpp
ostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
ostream.format/output.streams/ostream.unformatted/put.pass.cpp
ostream.format/output.streams/ostream.unformatted/write.pass.cpp
e2dbcaf969250926a15d527bfbee9d69233a9700 06-Dec-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] D27266: Remove spurious semicolons.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288750 91177308-0d34-0410-b5e6-96231b3b80d8
tring.streams/ostringstream/ostringstream.assign/member_swap.pass.cpp
tring.streams/ostringstream/ostringstream.assign/move.pass.cpp
tring.streams/ostringstream/ostringstream.assign/nonmember_swap.pass.cpp
tring.streams/ostringstream/ostringstream.cons/move.pass.cpp
tring.streams/ostringstream/ostringstream.cons/string.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/pbackfail.pass.cpp
7110e847a68d94b91c68661565be1ba208fd700f 01-Dec-2016 Roger Ferrer Ibanez <roger.ferreribanez@arm.com> Protect std::ostream::sentry test under libcpp-no-exceptions

Skip test that throws an exception.

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



git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@288378 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream_sentry/destruct.pass.cpp
12f7f5d2475908f3553b2039b418f71036721878 23-Nov-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] D27019: Fix MSVC warning C4245 "conversion from 'X' to 'Y', signed/unsigned mismatch", part 6/12.

Add static_cast when initializing unsigned integers with negative numbers (in order to obtain big values).

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@287826 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp
a9bcd3dae859f02ab496d175d50840f43a2d4ed2 23-Nov-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] D27013: Fix MSVC warning C4018 "signed/unsigned mismatch", part 1/12.

Change loop indices from int to std::size_t.

Also, include <cstddef> when it wasn't already being included.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@287820 91177308-0d34-0410-b5e6-96231b3b80d8
tring.streams/stringstream.cons/move2.pass.cpp
45e692539ccc8e3a034bc861e659c72223221620 14-Nov-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] D26314: Fix MSVC warning C4189 "local variable is initialized but not referenced".

test/std/depr/depr.c.headers/inttypes_h.pass.cpp
test/std/input.output/file.streams/c.files/cinttypes.pass.cpp
test/std/input.output/iostream.forward/iosfwd.pass.cpp
Add test() to avoid a bunch of void-casts, although we still need a few.

test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp
skippingws was unused (it's unclear to me whether this was mistakenly copy-pasted from round_trip() below).

test/std/localization/locale.categories/category.collate/locale.collate/types.pass.cpp
test/std/localization/locale.categories/category.ctype/facet.ctype.special/types.pass.cpp
test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char.pass.cpp
test/std/localization/locale.categories/category.ctype/locale.codecvt/types_wchar_t.pass.cpp
test/std/localization/locale.categories/category.ctype/locale.ctype/types.pass.cpp
test/std/localization/locale.categories/facet.numpunct/locale.numpunct/types.pass.cpp
test/std/localization/locales/locale.global.templates/use_facet.pass.cpp
When retrieving facets, the references are unused.

test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
"std::ios_base::iostate err = ios.goodbit;" was completely unused here.

test/std/localization/locale.categories/category.time/locale.time.get/time_base.pass.cpp
test/std/numerics/c.math/ctgmath.pass.cpp
test/std/numerics/rand/rand.device/entropy.pass.cpp
test/std/numerics/rand/rand.device/eval.pass.cpp
test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp
test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eof.pass.cpp
test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eof.pass.cpp
test/std/thread/futures/futures.promise/dtor.pass.cpp
test/std/thread/futures/futures.task/futures.task.members/dtor.pass.cpp
test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
These variables are verifying types but are otherwise unused.

test/std/strings/basic.string/string.capacity/reserve.pass.cpp
old_cap was unused (it's unclear to me whether it was intended to be used).

test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eq.pass.cpp
test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq.pass.cpp
test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/lt.pass.cpp
test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq.pass.cpp
test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/lt.pass.cpp
test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/eq.pass.cpp
test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/lt.pass.cpp
These tests contained unused characters.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286847 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cinttypes.pass.cpp
ostream.format/quoted.manip/quoted.pass.cpp
ostream.forward/iosfwd.pass.cpp
897956ebcdcffffb19e21fabc0bca29ae1f8096c 14-Nov-2016 Roger Ferrer Ibanez <roger.ferreribanez@arm.com> Protect std::ios tests under libcpp-no-exceptions

Skip tests that expect an exception be thrown. Also add
some missing asserts in the original test.

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



git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286823 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
ostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp
ostreams.base/ios/iostate.flags/clear.pass.cpp
ostreams.base/ios/iostate.flags/exceptions_iostate.pass.cpp
ostreams.base/ios/iostate.flags/setstate.pass.cpp
e619862dbf0c4a46db6e3d816bcafcfef6e85977 04-Nov-2016 Stephan T. Lavavej <stl@exchange.microsoft.com> [libcxx] [test] Replace _LIBCPP_STD_VER with TEST_STD_VER.

This replaces every occurrence of _LIBCPP_STD_VER in the tests with
TEST_STD_VER. Additionally, for every affected
file, #include "test_macros.h" is being added explicitly if it wasn't
already there.

https://reviews.llvm.org/D26294

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@286007 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cstdio.pass.cpp
db86684746c4dfffed6e97de7f971757a00d2f69 24-Sep-2016 Marshall Clow <mclow.lists@gmail.com> Implement is_error_code_v and is_error_condition_v for c++17. Rework the tests for is_error_code and is_error_condition, since they were really lacking. Thanks to Alisdair for the heads-up that we were missing these.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@282331 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/is_error_code_enum_io_errc.pass.cpp
7f630e8ffaf2cd78c21df6f120c1b41657d8afcf 24-Jul-2016 Eric Fiselier <eric@efcs.ca> Implement LWG2328. Rvalue stream extraction should perfect forward.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@276545 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
bbd1c53610e625e77b0c5f0ca0792351dad925b0 26-Jun-2016 Eric Fiselier <eric@efcs.ca> Avoid narrowing conversions in quoted test. Patch from STL@microsoft.com

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@273818 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/quoted.manip/quoted.pass.cpp
22bff1afcc2084aec23bf9b49b9005b09df9e50c 22-Jun-2016 Eric Fiselier <eric@efcs.ca> Move remaining _LIBCPP_VERSION tests into test/libcxx

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@273367 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/version_ccstdio.pass.cpp
ile.streams/c.files/version_cinttypes.pass.cpp
ile.streams/fstreams/version.pass.cpp
ostream.format/input.streams/version.pass.cpp
ostream.format/output.streams/version.pass.cpp
ostream.format/std.manip/version.pass.cpp
ostream.forward/version.pass.cpp
ostream.objects/version.pass.cpp
ostreams.base/version.pass.cpp
tream.buffers/version.pass.cpp
tring.streams/version.pass.cpp
bfdae2062a086dbfeb47774afcf429402cb39c57 14-Jun-2016 Eric Fiselier <eric@efcs.ca> Fix warnings in tests.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@272629 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cinttypes.pass.cpp
ile.streams/c.files/cstdio.pass.cpp
ostream.format/ext.manip/get_time.pass.cpp
ostream.format/ext.manip/put_time.pass.cpp
84acb1ec3f7d5e0f37d7176697c2fa876c413407 01-Jun-2016 Eric Fiselier <eric@efcs.ca> Remove trailing whitespace in test suite. Approved by Marshall Clow.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271435 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/gets.fail.cpp
ostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
ostream.format/quoted.manip/quoted.pass.cpp
ostream.format/quoted.manip/quoted_char.fail.cpp
ostream.format/quoted.manip/quoted_traits.fail.cpp
a3eac518e64aa0230894e4dde26c3f9714609e64 28-May-2016 Asiri Rathnayake <asiri.rathnayake@arm.com> [libcxx] Improve tests to use the UNSUPPORTED lit directive

Quite a few libcxx tests seem to follow the format:
#if _LIBCPP_STD_VER > X
// Do test.
#else
// Empty test.
#endif
We should instead use the UNSUPPORTED lit directive to exclude the test on
earlier C++ standards. This gives us a more accurate number of test passes
for those standards and avoids unnecessary conflicts with other lit
directives on the same tests.

Reviewers: bcraig, ericwf, mclow.lists

Differential revision: http://reviews.llvm.org/D20730

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@271108 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/gets.fail.cpp
a9ea11398d4e7c756f664d0ae364f1849ab5adec 02-May-2016 Eric Fiselier <eric@efcs.ca> Void cast runtime-unused variables. Patch from STL@microsoft.com

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@268284 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cstdio.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
59af3f895f37bb562987c50823e2344198c198cc 29-Apr-2016 Eric Fiselier <eric@efcs.ca> Fix PR21428 for long. Buffer was one byte too small in octal formatting case. Rename previously added test

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@268009 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass.cpp
1e5a4a4a71fae680ed06adfca3c877aa2c643752 29-Apr-2016 Eric Fiselier <eric@efcs.ca> Fix or move various non-standard tests.

This patch does the following:

* Remove <__config> includes from some container tests.
* Guards uses of std::launch::any in async tests because it's an extension.
* Move "test/std/extensions" to "test/libcxx/extensions"
* Moves various non-standard tests including those in "sequences/vector",
"std/localization" and "utilities/meta".


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267981 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass
138574cae92285d2b4cb24af12cd58c3ff57936b 29-Apr-2016 Eric Fiselier <eric@efcs.ca> Remove more names of unreferenced parameters. Patch from STL@microsoft.com

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267962 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/basic.ios.members/move.pass.cpp
ostreams.base/ios/basic.ios.members/swap.pass.cpp
bda804ea25ff0b96f66a80cbf4640a7b8dd886b8 28-Apr-2016 Eric Fiselier <eric@efcs.ca> Remove names of unreferenced parameters. Patch from STL@microsoft.com

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267852 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.get/sgetn.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.pback/sputbackc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.pback/sungetc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.put/sputc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.put/sputn.pass.cpp
4596c2919563b1a2c85285a8be96c74b1d993e75 28-Apr-2016 Eric Fiselier <eric@efcs.ca> Guard Clang and GCC specific pragmas. Patch from STL@microsoft.com

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267836 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cstdio.pass.cpp
d7f1f971d162a5161376786da9821370e9c18718 23-Apr-2016 Marshall Clow <mclow.lists@gmail.com> Rename a few tests that had typos in their names. No functional change. Thanks to STL for the catch

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267287 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/basic.ios.members/narow.pass.cpp
ostreams.base/ios/basic.ios.members/narrow.pass.cpp
81b46a5bc6d9b31d7a2d3f27c71c8f1a8d0b8fb4 09-Feb-2016 Marshall Clow <mclow.lists@gmail.com> Minor updates to failing tests. NFC

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@260202 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/quoted.manip/quoted_char.fail.cpp
ostream.format/quoted.manip/quoted_traits.fail.cpp
5f3668d14234de1db4ab58615ed75e65f88bdb18 08-Feb-2016 Marshall Clow <mclow.lists@gmail.com> Clean up a test; get rid of hard-wired char/wchar_t code for template fns that take any char type. Prep work for PR#26503

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@260115 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/quoted.manip/quoted.pass.cpp
cd17b3b1565a0b423387bb7254cc55265c901449 21-Jan-2016 Daniel Sanders <daniel.sanders@imgtec.com> [libcxx] Add appropriate 'REQUIRE' directives to tests that require en_US.UTF-8.

Reviewers: mclow.lists, hans

Subscribers: bcraig, cfe-commits

Differential Revision: http://reviews.llvm.org/D16406

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@258403 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/fstreams/filebuf.virtuals/overflow.pass.cpp
ile.streams/fstreams/filebuf.virtuals/underflow.pass.cpp
ostream.format/ext.manip/get_time.pass.cpp
ostream.format/ext.manip/put_time.pass.cpp
ostreams.base/ios.base/ios.base.callback/register_callback.pass.cpp
ostreams.base/ios.base/ios.base.locales/imbue.pass.cpp
ostreams.base/ios/basic.ios.members/imbue.pass.cpp
tream.buffers/streambuf/streambuf.cons/copy.pass.cpp
tream.buffers/streambuf/streambuf.cons/default.pass.cpp
tream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
tream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
94d9b1c5b2bf7ba300370b3c050ecbc1e7e4a6db 12-Nov-2015 Asiri Rathnayake <asiri.rathnayake@arm.com> [libcxx] Fixup a few fumbles in the initial no-exceptions XFAILs list.

The initial buildbot run found a few missing bits in the initial XFAIL list
for the no-exceptions libc++ variant. These discrepancies are as follows:

[1] Following two tests need XFAILs on the no-exceptions library variant.
My local runs had these two disabled for other reasons (unsupported):

- localization/locales/locale/locale.cons/char_pointer.pass.cpp
- numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp

[2] These three does not need XFAILs, they were failing on my local runs for
other reasons:

- depr/depr.c.headers/uchar_h.pass.cpp
- input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
- .../category.collate/locale.collate.byname/transform.pass.cpp

(these are failing on my box for the default build as well)

The current patch fixes both the cases above. Additionally, I've run the
following scan to make sure I've covered all the cases:

> grep ' catch \| try \| throw ' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \
uniq > 1.txt
> grep 'libcpp-no-exceptions' -R . | perl -pe 's|(.*?):.*|\1|' | sort | \
uniq > 2.txt
> diff 1.txt 2.txt

This showed up a few extra interesting cases:

[3] These two tests do not use try/catch/throw statements, but they fail at
runtime. Need to be investigated, I've left the XFAILs in.

- std/thread/futures/futures.shared_future/dtor.pass.cpp
- std/thread/futures/futures.unique_future/dtor.pass.cpp

[4] These tests use a macro named TEST_HAS_NO_EXCEPTIONS to conditionally
exclude try/catch/throw statements when running without exceptions. I'm not
entirely sure why this was needed (AFAIK, we didn't have a no-exceptions
library build before). The macro's defintion is quite similar to that of
_LIBCPP_NO_EXCEPTIONS. I will investigate if this can be reused for my test
fixes or if it should be replaced with _LIBCPP_NO_EXCEPTIONS.

- std/experimental/any/*

Change-Id: I9ad1e0edd78f305406eaa0ab148b1ab693f7e26a

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@252870 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
cc2e93cff0abb6448aae701abdddc065c1c34a18 10-Nov-2015 Asiri Rathnayake <asiri.rathnayake@arm.com> Make it possible to build a no-exceptions variant of libcxx.

Fixes a small omission in libcxx that prevents libcxx being built when
-DLIBCXX_ENABLE_EXCEPTIONS=0 is specified.

This patch adds XFAILS to all those tests that are currently failing
on the new -fno-exceptions library variant. Follow-up patches will
update the tests (progressively) to cope with the new library variant.

Change-Id: I4b801bd8d8e4fe7193df9e55f39f1f393a8ba81a

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@252598 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream_sentry/destruct.pass.cpp
ostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp
ostreams.base/ios/iostate.flags/clear.pass.cpp
ostreams.base/ios/iostate.flags/exceptions_iostate.pass.cpp
ostreams.base/ios/iostate.flags/setstate.pass.cpp
175cb20bfb8e186241dd54ed9a80adc5931f344d 25-Oct-2015 Marshall Clow <mclow.lists@gmail.com> Add a test for LWG#2462: std::ios_base::failure is overspecified

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@251250 91177308-0d34-0410-b5e6-96231b3b80d8
ostreams.base/ios.base/ios.types/ios_failure/ctor_string_error_code.pass.cpp
dbef2bb1d0453026b49af6d55aa99bcec776ff35 25-Oct-2015 Marshall Clow <mclow.lists@gmail.com> Fix LWG#2244: basic_istream::seekg

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@251246 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
a09319b8989cac231603fb116a6cbecf6dc2f87c 07-Oct-2015 Marshall Clow <mclow.lists@gmail.com> While researching LWG#2244, I noticed we weren't testing that eofbit was being cleared. Now we are

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@249593 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/input.streams/istream.unformatted/seekg.pass.cpp
41a04d69c4a087bdbab75c44b668a608160fffe7 15-Sep-2015 Marshall Clow <mclow.lists@gmail.com> Suppress some warnings in the tests that snuck in. That 'tmpnam' is deprecated doesn't change the fact that we have to test it.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@247704 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cstdio.pass.cpp
0f7221ccb8220c32f67d5391d553df90cacbfd8c 18-Jul-2015 Marshall Clow <mclow.lists@gmail.com> Fix up typos in a couple of tests; due to agressive short-circuiting, they never failed on clang or gcc, but MSVC whined. Patch by Andrew Parker.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@242618 91177308-0d34-0410-b5e6-96231b3b80d8
tring.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/pbackfail.pass.cpp
1224e8972b770cb1ec35d7acb27ec43556969d12 22-Jun-2015 Marshall Clow <mclow.lists@gmail.com> Make seeking on an ostream that has eofbit set work correctly. Fixes PR#21361

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@240286 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream.seeks/seekp.pass.cpp
ostream.format/output.streams/ostream.seeks/seekp2.pass.cpp
abd06b4c9be0a8cf3a69b2b745ef2b112cac83c8 26-Mar-2015 Ed Schouten <ed@nuxi.nl> Make the presence of stdin and stdout optional.

The idea behind Nuxi CloudABI is that it is targeted at (but not limited to)
running networked services in a sandboxed environment. The model behind stdin,
stdout and stderr is strongly focused on interactive tools in a command shell.
CloudABI does not support the notion of stdin and stdout, as 'standard
input/output' does not apply to services. The concept of stderr does makes
sense though, as services do need some mechanism to log error messages in a
uniform way.

This patch extends libc++ in such a way that std::cin and std::cout and the
associated <cstdio>/<cwchar> functions can be disabled through the flags
_LIBCPP_HAS_NO_STDIN and _LIBCPP_HAS_NO_STDOUT, respectively. At the same time
it attempts to clean up src/iostream.cpp a bit. Instead of using a single array
of mbstate_t objects and hardcoding the array indices, it creates separate
objects that declared next to the iostream objects and their buffers. The code
is also restructured by interleaving the construction and setup of c* and wc*
objects. That way it is more obvious that this is done identically.

The c* and wc* objects already have separate unit tests. Make use of this fact
by adding XFAILs in case libcpp-has-no-std* is set. That way the tests work in
both directions. If stdin or stdout is disabled, these tests will therefore
test for the absence of c* and wc*.

Differential Revision: http://reviews.llvm.org/D8340


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@233275 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cstdio.pass.cpp
ostream.objects/narrow.stream.objects/cerr.pass.cpp
ostream.objects/narrow.stream.objects/cin.pass.cpp
ostream.objects/narrow.stream.objects/cout.pass.cpp
ostream.objects/wide.stream.objects/wcerr.pass.cpp
ostream.objects/wide.stream.objects/wcin.pass.cpp
ostream.objects/wide.stream.objects/wcout.pass.cpp
061244c8fb00aadf05220b8a6409d8c123cce726 16-Mar-2015 Ed Schouten <ed@nuxi.nl> Don't attempt to validate the output of %p.

In one of the ostream tests we attempt to validate whether the output of
%p is correct. This is actually outside the scope of libc++, for the
%reason that the format of %p is implementation defined. Change the test
%to validate that the output of %p is non-empty and is different when
%given two unequal addresses.

Differential Revision: http://reviews.llvm.org/D8354
Reviewed by: marshall


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@232390 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
438a5c9fdf23d3f7924ef825e65195d107db5c36 16-Mar-2015 Ed Schouten <ed@nuxi.nl> Don't hardcode the locale name string.

The rest of the test uses the #defines for the locale names properly. In
this single spot we do hardcode the string. This causes this test to
fail on CloudABI, where this locale is called en_US.UTF-8@UTC.


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@232365 91177308-0d34-0410-b5e6-96231b3b80d8
tream.buffers/streambuf/streambuf.members/streambuf.locales/locales.pass.cpp
b33ae5ba7dd53c8736a79fe19870ae856deebadb 12-Mar-2015 Ed Schouten <ed@nuxi.nl> Add option to disable access to the global filesystem namespace.

Systems like FreeBSD's Capsicum and Nuxi CloudABI apply the concept of
capability-based security on the way processes can interact with the
filesystem API. It is no longer possible to interact with the VFS
through calls like open(), unlink(), rename(), etc. Instead, processes
are only allowed to interact with files and directories to which they
have been granted access. The *at() functions can be used for this
purpose.

This change adds a new config switch called
_LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE. If set, all functionality
that requires the global filesystem namespace will be disabled. More
concretely:

- fstream's open() function will be removed.
- cstdio will no longer pull in fopen(), rename(), etc.
- The test suite's get_temp_file_name() will be removed. This will cause
all tests that use the global filesystem namespace to break, but will
at least make all the other tests run (as get_temp_file_name will not
build anyway).

It is important to mention that this change will make fstream rather
useless on those systems for now. Still, I'd rather not have fstream
disabled entirely, as it is of course possible to come up with an
extension for fstream that would allow access to local filesystem
namespaces (e.g., by adding an openat() member function).

Differential revision: http://reviews.llvm.org/D8194
Reviewed by: jroelofs (thanks!)


git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@232049 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cstdio.pass.cpp
ile.streams/c.files/no.global.filesystem.namespace/fopen.fail.cpp
ile.streams/c.files/no.global.filesystem.namespace/lit.local.cfg
ile.streams/c.files/no.global.filesystem.namespace/rename.fail.cpp
ile.streams/fstreams/lit.local.cfg
b9bf4a21851cfb17ff072e60c0acbde7aa3492bc 26-Jan-2015 Marshall Clow <mclow.lists@gmail.com> Fix PR21428. Buffer was one byte too small in octal formatting case. Add test

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@227097 91177308-0d34-0410-b5e6-96231b3b80d8
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/minus1.pass
a90c6dd46005b2b14de3bb889a8d03bb34bd3256 20-Dec-2014 Eric Fiselier <eric@efcs.ca> Move test into test/std subdirectory.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@224658 91177308-0d34-0410-b5e6-96231b3b80d8
ile.streams/c.files/cinttypes.pass.cpp
ile.streams/c.files/cstdio.pass.cpp
ile.streams/c.files/gets.fail.cpp
ile.streams/c.files/version_ccstdio.pass.cpp
ile.streams/c.files/version_cinttypes.pass.cpp
ile.streams/fstreams/filebuf.assign/member_swap.pass.cpp
ile.streams/fstreams/filebuf.assign/move_assign.pass.cpp
ile.streams/fstreams/filebuf.assign/nonmember_swap.pass.cpp
ile.streams/fstreams/filebuf.cons/default.pass.cpp
ile.streams/fstreams/filebuf.cons/move.pass.cpp
ile.streams/fstreams/filebuf.members/open_pointer.pass.cpp
ile.streams/fstreams/filebuf.virtuals/overflow.pass.cpp
ile.streams/fstreams/filebuf.virtuals/pbackfail.pass.cpp
ile.streams/fstreams/filebuf.virtuals/seekoff.pass.cpp
ile.streams/fstreams/filebuf.virtuals/underflow.dat
ile.streams/fstreams/filebuf.virtuals/underflow.pass.cpp
ile.streams/fstreams/filebuf.virtuals/underflow_utf8.dat
ile.streams/fstreams/filebuf/types.pass.cpp
ile.streams/fstreams/fstream.assign/member_swap.pass.cpp
ile.streams/fstreams/fstream.assign/move_assign.pass.cpp
ile.streams/fstreams/fstream.assign/nonmember_swap.pass.cpp
ile.streams/fstreams/fstream.cons/default.pass.cpp
ile.streams/fstreams/fstream.cons/move.pass.cpp
ile.streams/fstreams/fstream.cons/pointer.pass.cpp
ile.streams/fstreams/fstream.cons/string.pass.cpp
ile.streams/fstreams/fstream.members/close.pass.cpp
ile.streams/fstreams/fstream.members/open_pointer.pass.cpp
ile.streams/fstreams/fstream.members/open_string.pass.cpp
ile.streams/fstreams/fstream.members/rdbuf.pass.cpp
ile.streams/fstreams/fstream/types.pass.cpp
ile.streams/fstreams/ifstream.assign/member_swap.pass.cpp
ile.streams/fstreams/ifstream.assign/move_assign.pass.cpp
ile.streams/fstreams/ifstream.assign/nonmember_swap.pass.cpp
ile.streams/fstreams/ifstream.assign/test.dat
ile.streams/fstreams/ifstream.assign/test2.dat
ile.streams/fstreams/ifstream.cons/default.pass.cpp
ile.streams/fstreams/ifstream.cons/move.pass.cpp
ile.streams/fstreams/ifstream.cons/pointer.pass.cpp
ile.streams/fstreams/ifstream.cons/string.pass.cpp
ile.streams/fstreams/ifstream.cons/test.dat
ile.streams/fstreams/ifstream.members/close.pass.cpp
ile.streams/fstreams/ifstream.members/open_pointer.pass.cpp
ile.streams/fstreams/ifstream.members/open_string.pass.cpp
ile.streams/fstreams/ifstream.members/rdbuf.pass.cpp
ile.streams/fstreams/ifstream.members/test.dat
ile.streams/fstreams/ifstream/types.pass.cpp
ile.streams/fstreams/ofstream.assign/member_swap.pass.cpp
ile.streams/fstreams/ofstream.assign/move_assign.pass.cpp
ile.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp
ile.streams/fstreams/ofstream.cons/default.pass.cpp
ile.streams/fstreams/ofstream.cons/move.pass.cpp
ile.streams/fstreams/ofstream.cons/pointer.pass.cpp
ile.streams/fstreams/ofstream.cons/string.pass.cpp
ile.streams/fstreams/ofstream.members/close.pass.cpp
ile.streams/fstreams/ofstream.members/open_pointer.pass.cpp
ile.streams/fstreams/ofstream.members/open_string.pass.cpp
ile.streams/fstreams/ofstream.members/rdbuf.pass.cpp
ile.streams/fstreams/ofstream/types.pass.cpp
ile.streams/fstreams/version.pass.cpp
ile.streams/nothing_to_do.pass.cpp
nput.output.general/nothing_to_do.pass.cpp
ostream.format/ext.manip/get_money.pass.cpp
ostream.format/ext.manip/get_time.pass.cpp
ostream.format/ext.manip/put_money.pass.cpp
ostream.format/ext.manip/put_time.pass.cpp
ostream.format/input.streams/iostreamclass/iostream.assign/member_swap.pass.cpp
ostream.format/input.streams/iostreamclass/iostream.assign/move_assign.pass.cpp
ostream.format/input.streams/iostreamclass/iostream.cons/move.pass.cpp
ostream.format/input.streams/iostreamclass/iostream.cons/streambuf.pass.cpp
ostream.format/input.streams/iostreamclass/iostream.dest/nothing_to_do.pass.cpp
ostream.format/input.streams/iostreamclass/types.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp
ostream.format/input.streams/istream.formatted/istream.formatted.reqmts/tested_elsewhere.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/basic_ios.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/chart.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/ios_base.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/istream.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/signed_char.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/signed_char_pointer.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char_pointer.pass.cpp
ostream.format/input.streams/istream.formatted/istream_extractors/wchar_t_pointer.pass.cpp
ostream.format/input.streams/istream.formatted/nothing_to_do.pass.cpp
ostream.format/input.streams/istream.manip/ws.pass.cpp
ostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
ostream.format/input.streams/istream.unformatted/get.pass.cpp
ostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
ostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp
ostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp
ostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp
ostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp
ostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp
ostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp
ostream.format/input.streams/istream.unformatted/ignore.pass.cpp
ostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
ostream.format/input.streams/istream.unformatted/peek.pass.cpp
ostream.format/input.streams/istream.unformatted/putback.pass.cpp
ostream.format/input.streams/istream.unformatted/read.pass.cpp
ostream.format/input.streams/istream.unformatted/readsome.pass.cpp
ostream.format/input.streams/istream.unformatted/seekg.pass.cpp
ostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
ostream.format/input.streams/istream.unformatted/sync.pass.cpp
ostream.format/input.streams/istream.unformatted/tellg.pass.cpp
ostream.format/input.streams/istream.unformatted/unget.pass.cpp
ostream.format/input.streams/istream/istream.assign/member_swap.pass.cpp
ostream.format/input.streams/istream/istream.assign/move_assign.pass.cpp
ostream.format/input.streams/istream/istream.cons/move.pass.cpp
ostream.format/input.streams/istream/istream.cons/streambuf.pass.cpp
ostream.format/input.streams/istream/istream_sentry/ctor.pass.cpp
ostream.format/input.streams/istream/types.pass.cpp
ostream.format/input.streams/version.pass.cpp
ostream.format/nothing_to_do.pass.cpp
ostream.format/output.streams/ostream.assign/member_swap.pass.cpp
ostream.format/output.streams/ostream.assign/move_assign.pass.cpp
ostream.format/output.streams/ostream.cons/move.pass.cpp
ostream.format/output.streams/ostream.cons/streambuf.pass.cpp
ostream.format/output.streams/ostream.formatted/nothing_to_do.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.formatted.reqmts/tested_elsewhere.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/bool.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/double.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/float.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/int.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_double.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/short.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_int.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_short.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char_pointer.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/basic_ios.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/ios_base.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/ostream.pass.cpp
ostream.format/output.streams/ostream.formatted/ostream.inserters/streambuf.pass.cpp
ostream.format/output.streams/ostream.manip/endl.pass.cpp
ostream.format/output.streams/ostream.manip/ends.pass.cpp
ostream.format/output.streams/ostream.manip/flush.pass.cpp
ostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
ostream.format/output.streams/ostream.seeks/seekp.pass.cpp
ostream.format/output.streams/ostream.seeks/seekp2.pass.cpp
ostream.format/output.streams/ostream.seeks/tellp.pass.cpp
ostream.format/output.streams/ostream.unformatted/flush.pass.cpp
ostream.format/output.streams/ostream.unformatted/put.pass.cpp
ostream.format/output.streams/ostream.unformatted/write.pass.cpp
ostream.format/output.streams/ostream/types.pass.cpp
ostream.format/output.streams/ostream_sentry/construct.pass.cpp
ostream.format/output.streams/ostream_sentry/destruct.pass.cpp
ostream.format/output.streams/version.pass.cpp
ostream.format/quoted.manip/quoted.pass.cpp
ostream.format/quoted.manip/quoted_char.fail.cpp
ostream.format/quoted.manip/quoted_traits.fail.cpp
ostream.format/std.manip/resetiosflags.pass.cpp
ostream.format/std.manip/setbase.pass.cpp
ostream.format/std.manip/setfill.pass.cpp
ostream.format/std.manip/setiosflags.pass.cpp
ostream.format/std.manip/setprecision.pass.cpp
ostream.format/std.manip/setw.pass.cpp
ostream.format/std.manip/version.pass.cpp
ostream.forward/iosfwd.pass.cpp
ostream.forward/version.pass.cpp
ostream.objects/narrow.stream.objects/cerr.pass.cpp
ostream.objects/narrow.stream.objects/cin.pass.cpp
ostream.objects/narrow.stream.objects/clog.pass.cpp
ostream.objects/narrow.stream.objects/cout.pass.cpp
ostream.objects/version.pass.cpp
ostream.objects/wide.stream.objects/wcerr.pass.cpp
ostream.objects/wide.stream.objects/wcin.pass.cpp
ostream.objects/wide.stream.objects/wclog.pass.cpp
ostream.objects/wide.stream.objects/wcout.pass.cpp
ostreams.base/fpos/fpos.members/state.pass.cpp
ostreams.base/fpos/fpos.operations/addition.pass.cpp
ostreams.base/fpos/fpos.operations/ctor_int.pass.cpp
ostreams.base/fpos/fpos.operations/difference.pass.cpp
ostreams.base/fpos/fpos.operations/eq_int.pass.cpp
ostreams.base/fpos/fpos.operations/offset.pass.cpp
ostreams.base/fpos/fpos.operations/streamsize.pass.cpp
ostreams.base/fpos/fpos.operations/subtraction.pass.cpp
ostreams.base/fpos/nothing_to_do.pass.cpp
ostreams.base/ios.base/fmtflags.state/flags.pass.cpp
ostreams.base/ios.base/fmtflags.state/flags_fmtflags.pass.cpp
ostreams.base/ios.base/fmtflags.state/precision.pass.cpp
ostreams.base/ios.base/fmtflags.state/precision_streamsize.pass.cpp
ostreams.base/ios.base/fmtflags.state/setf_fmtflags.pass.cpp
ostreams.base/ios.base/fmtflags.state/setf_fmtflags_mask.pass.cpp
ostreams.base/ios.base/fmtflags.state/unsetf_mask.pass.cpp
ostreams.base/ios.base/fmtflags.state/width.pass.cpp
ostreams.base/ios.base/fmtflags.state/width_streamsize.pass.cpp
ostreams.base/ios.base/ios.base.callback/register_callback.pass.cpp
ostreams.base/ios.base/ios.base.cons/dtor.pass.cpp
ostreams.base/ios.base/ios.base.locales/getloc.pass.cpp
ostreams.base/ios.base/ios.base.locales/imbue.pass.cpp
ostreams.base/ios.base/ios.base.storage/iword.pass.cpp
ostreams.base/ios.base/ios.base.storage/pword.pass.cpp
ostreams.base/ios.base/ios.base.storage/xalloc.pass.cpp
ostreams.base/ios.base/ios.members.static/sync_with_stdio.pass.cpp
ostreams.base/ios.base/ios.types/ios_Init/tested_elsewhere.pass.cpp
ostreams.base/ios.base/ios.types/ios_failure/ctor_char_pointer_error_code.pass.cpp
ostreams.base/ios.base/ios.types/ios_failure/ctor_string_error_code.pass.cpp
ostreams.base/ios.base/ios.types/ios_fmtflags/fmtflags.pass.cpp
ostreams.base/ios.base/ios.types/ios_iostate/iostate.pass.cpp
ostreams.base/ios.base/ios.types/ios_openmode/openmode.pass.cpp
ostreams.base/ios.base/ios.types/ios_seekdir/seekdir.pass.cpp
ostreams.base/ios.base/ios.types/nothing_to_do.pass.cpp
ostreams.base/ios.base/nothing_to_do.pass.cpp
ostreams.base/ios/basic.ios.cons/ctor_streambuf.pass.cpp
ostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
ostreams.base/ios/basic.ios.members/fill.pass.cpp
ostreams.base/ios/basic.ios.members/fill_char_type.pass.cpp
ostreams.base/ios/basic.ios.members/imbue.pass.cpp
ostreams.base/ios/basic.ios.members/move.pass.cpp
ostreams.base/ios/basic.ios.members/narow.pass.cpp
ostreams.base/ios/basic.ios.members/rdbuf.pass.cpp
ostreams.base/ios/basic.ios.members/rdbuf_streambuf.pass.cpp
ostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp
ostreams.base/ios/basic.ios.members/swap.pass.cpp
ostreams.base/ios/basic.ios.members/tie.pass.cpp
ostreams.base/ios/basic.ios.members/tie_ostream.pass.cpp
ostreams.base/ios/basic.ios.members/widen.pass.cpp
ostreams.base/ios/iostate.flags/bad.pass.cpp
ostreams.base/ios/iostate.flags/bool.pass.cpp
ostreams.base/ios/iostate.flags/clear.pass.cpp
ostreams.base/ios/iostate.flags/eof.pass.cpp
ostreams.base/ios/iostate.flags/exceptions.pass.cpp
ostreams.base/ios/iostate.flags/exceptions_iostate.pass.cpp
ostreams.base/ios/iostate.flags/fail.pass.cpp
ostreams.base/ios/iostate.flags/good.pass.cpp
ostreams.base/ios/iostate.flags/not.pass.cpp
ostreams.base/ios/iostate.flags/rdstate.pass.cpp
ostreams.base/ios/iostate.flags/setstate.pass.cpp
ostreams.base/ios/types.pass.cpp
ostreams.base/std.ios.manip/adjustfield.manip/internal.pass.cpp
ostreams.base/std.ios.manip/adjustfield.manip/left.pass.cpp
ostreams.base/std.ios.manip/adjustfield.manip/right.pass.cpp
ostreams.base/std.ios.manip/basefield.manip/dec.pass.cpp
ostreams.base/std.ios.manip/basefield.manip/hex.pass.cpp
ostreams.base/std.ios.manip/basefield.manip/oct.pass.cpp
ostreams.base/std.ios.manip/error.reporting/iostream_category.pass.cpp
ostreams.base/std.ios.manip/error.reporting/make_error_code.pass.cpp
ostreams.base/std.ios.manip/error.reporting/make_error_condition.pass.cpp
ostreams.base/std.ios.manip/floatfield.manip/defaultfloat.pass.cpp
ostreams.base/std.ios.manip/floatfield.manip/fixed.pass.cpp
ostreams.base/std.ios.manip/floatfield.manip/hexfloat.pass.cpp
ostreams.base/std.ios.manip/floatfield.manip/scientific.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/boolalpha.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/noboolalpha.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/noshowbase.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/noshowpoint.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/noshowpos.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/noskipws.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/nounitbuf.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/nouppercase.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/showbase.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/showpoint.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/showpos.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/skipws.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/unitbuf.pass.cpp
ostreams.base/std.ios.manip/fmtflags.manip/uppercase.pass.cpp
ostreams.base/std.ios.manip/nothing_to_do.pass.cpp
ostreams.base/stream.types/streamoff.pass.cpp
ostreams.base/stream.types/streamsize.pass.cpp
ostreams.base/version.pass.cpp
ostreams.requirements/iostream.limits.imbue/tested_elsewhere.pass.cpp
ostreams.requirements/iostreams.limits.pos/nothing_to_do.pass.cpp
ostreams.requirements/iostreams.threadsafety/nothing_to_do.pass.cpp
ostreams.requirements/nothing_to_do.pass.cpp
othing_to_do.pass.cpp
tream.buffers/streambuf.reqts/tested_elsewhere.pass.cpp
tream.buffers/streambuf/streambuf.cons/copy.fail.cpp
tream.buffers/streambuf/streambuf.cons/copy.pass.cpp
tream.buffers/streambuf/streambuf.cons/default.fail.cpp
tream.buffers/streambuf/streambuf.cons/default.pass.cpp
tream.buffers/streambuf/streambuf.members/nothing_to_do.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.buffer/pubseekoff.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.buffer/pubseekpos.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.buffer/pubsetbuf.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.buffer/pubsync.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.locales/locales.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.get/in_avail.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.get/sbumpc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.get/sgetc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.get/sgetn.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.get/snextc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.pback/sputbackc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.pback/sungetc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.put/sputc.pass.cpp
tream.buffers/streambuf/streambuf.members/streambuf.pub.put/sputn.pass.cpp
tream.buffers/streambuf/streambuf.protected/nothing_to_do.pass.cpp
tream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
tream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
tream.buffers/streambuf/streambuf.protected/streambuf.get.area/gbump.pass.cpp
tream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.pass.cpp
tream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump.pass.cpp
tream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/nothing_to_do.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.buffer/tested_elsewhere.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/showmanyc.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/uflow.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/underflow.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/xsgetn.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.locales/nothing_to_do.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.pback/pbackfail.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/overflow.pass.cpp
tream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/xsputn.pass.cpp
tream.buffers/streambuf/types.pass.cpp
tream.buffers/version.pass.cpp
tring.streams/istringstream/istringstream.assign/member_swap.pass.cpp
tring.streams/istringstream/istringstream.assign/move.pass.cpp
tring.streams/istringstream/istringstream.assign/nonmember_swap.pass.cpp
tring.streams/istringstream/istringstream.cons/default.pass.cpp
tring.streams/istringstream/istringstream.cons/move.pass.cpp
tring.streams/istringstream/istringstream.cons/string.pass.cpp
tring.streams/istringstream/istringstream.members/str.pass.cpp
tring.streams/istringstream/types.pass.cpp
tring.streams/ostringstream/ostringstream.assign/member_swap.pass.cpp
tring.streams/ostringstream/ostringstream.assign/move.pass.cpp
tring.streams/ostringstream/ostringstream.assign/nonmember_swap.pass.cpp
tring.streams/ostringstream/ostringstream.cons/default.pass.cpp
tring.streams/ostringstream/ostringstream.cons/move.pass.cpp
tring.streams/ostringstream/ostringstream.cons/string.pass.cpp
tring.streams/ostringstream/ostringstream.members/str.pass.cpp
tring.streams/ostringstream/types.pass.cpp
tring.streams/stringbuf/stringbuf.assign/member_swap.pass.cpp
tring.streams/stringbuf/stringbuf.assign/move.pass.cpp
tring.streams/stringbuf/stringbuf.assign/nonmember_swap.pass.cpp
tring.streams/stringbuf/stringbuf.cons/default.pass.cpp
tring.streams/stringbuf/stringbuf.cons/move.pass.cpp
tring.streams/stringbuf/stringbuf.cons/string.pass.cpp
tring.streams/stringbuf/stringbuf.members/str.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/pbackfail.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/seekoff.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/seekpos.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/setbuf.pass.cpp
tring.streams/stringbuf/stringbuf.virtuals/underflow.pass.cpp
tring.streams/stringbuf/types.pass.cpp
tring.streams/stringstream.cons/default.pass.cpp
tring.streams/stringstream.cons/move.pass.cpp
tring.streams/stringstream.cons/move2.pass.cpp
tring.streams/stringstream.cons/string.pass.cpp
tring.streams/stringstream.cons/stringstream.assign/member_swap.pass.cpp
tring.streams/stringstream.cons/stringstream.assign/move.pass.cpp
tring.streams/stringstream.cons/stringstream.assign/nonmember_swap.pass.cpp
tring.streams/stringstream.members/str.pass.cpp
tring.streams/stringstream/types.pass.cpp
tring.streams/version.pass.cpp