| //===----------------------------------------------------------------------===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| // <ios> |
| |
| // class ios_base |
| |
| // long& iword(int idx); |
| |
| // This test compiles but never completes when compiled against the MSVC STL |
| // UNSUPPORTED: msvc |
| |
| #include <ios> |
| #include <string> |
| #include <cassert> |
| |
| #include "test_macros.h" |
| |
| class test |
| : public std::ios |
| { |
| public: |
| test() |
| { |
| init(0); |
| } |
| }; |
| |
| int main(int, char**) |
| { |
| test t; |
| std::ios_base& b = t; |
| for (int i = 0; i < 10000; ++i) |
| { |
| assert(b.iword(i) == 0); |
| b.iword(i) = i; |
| assert(b.iword(i) == i); |
| for (int j = 0; j <= i; ++j) |
| assert(b.iword(j) == j); |
| } |
| |
| return 0; |
| } |