iword.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
1//===----------------------------------------------------------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. 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 20class test 21 : public std::ios 22{ 23public: 24 test() 25 { 26 init(0); 27 } 28}; 29 30int 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