diff options
| author | Howard Hinnant <hhinnant@apple.com> | 2013-04-03 20:21:29 +0000 |
|---|---|---|
| committer | Howard Hinnant <hhinnant@apple.com> | 2013-04-03 20:21:29 +0000 |
| commit | 1347d334518a3642243e97c7d173452443047e2f (patch) | |
| tree | 97836caf138b8af9b4cda6bca280f95e3215967d /libcxx/test/input.output | |
| parent | 122acb216c74953d40cb7b03bd8d9941056140fd (diff) | |
| download | bcm5719-llvm-1347d334518a3642243e97c7d173452443047e2f.tar.gz bcm5719-llvm-1347d334518a3642243e97c7d173452443047e2f.zip | |
The move / swap members were not correctly taking all of the possible states of the basic_stringbuf into account. Just rewrote these members. Test included. This fixes http://llvm.org/bugs/show_bug.cgi?id=15659.
llvm-svn: 178690
Diffstat (limited to 'libcxx/test/input.output')
| -rw-r--r-- | libcxx/test/input.output/string.streams/stringstream.cons/move2.pass.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libcxx/test/input.output/string.streams/stringstream.cons/move2.pass.cpp b/libcxx/test/input.output/string.streams/stringstream.cons/move2.pass.cpp new file mode 100644 index 00000000000..856cf3cbeaf --- /dev/null +++ b/libcxx/test/input.output/string.streams/stringstream.cons/move2.pass.cpp @@ -0,0 +1,37 @@ +//===----------------------------------------------------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +// <sstream> + +// template <class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > +// class basic_stringstream + +// basic_stringstream(basic_stringstream&& rhs); + +#include <sstream> +#include <vector> +#include <string> +#include <cassert> + +int main() +{ +#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES + std::vector<std::istringstream> vecis; + vecis.push_back(std::istringstream()); + vecis.back().str("hub started at [00 6b 8b 45 69]"); + vecis.push_back(std::istringstream()); + vecis.back().str("hub started at [00 6b 8b 45 69]"); + for (int n = 0; n < vecis.size(); n++) + { + assert(vecis[n].str().size() == 31); + vecis[n].seekg(0, std::ios_base::beg); + assert(vecis[n].str().size() == 31); + } +#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES +} |

