1 //===----------------------------------------------------------------------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 // <ios>
11 
12 // class ios_base
13 
14 // long& iword(int idx);
15 
16 #include <ios>
17 #include <string>
18 #include <cassert>
19 
20 class test
21     : public std::ios
22 {
23 public:
test()24     test()
25     {
26         init(0);
27     }
28 };
29 
main()30 int main()
31 {
32     test t;
33     std::ios_base& b = t;
34     for (int i = 0; i < 10000; ++i)
35     {
36         assert(b.iword(i) == 0);
37         b.iword(i) = i;
38         assert(b.iword(i) == i);
39         for (int j = 0; j <= i; ++j)
40             assert(b.iword(j) == j);
41     }
42 }
43