[libc++] Increase portability of xalloc test

Do not assume that xalloc() starts at 0, which is not specified by the
Standard.

Thanks to Andrey Maksimov for the patch.
Differential Revision: https://reviews.llvm.org/D58299

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@355160 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/std/input.output/iostreams.base/ios.base/ios.base.storage/xalloc.pass.cpp b/test/std/input.output/iostreams.base/ios.base/ios.base.storage/xalloc.pass.cpp
index 2fcaddd..fa666c2 100644
--- a/test/std/input.output/iostreams.base/ios.base/ios.base.storage/xalloc.pass.cpp
+++ b/test/std/input.output/iostreams.base/ios.base/ios.base.storage/xalloc.pass.cpp
@@ -17,11 +17,9 @@
 
 int main(int, char**)
 {
-    assert(std::ios_base::xalloc() == 0);
-    assert(std::ios_base::xalloc() == 1);
-    assert(std::ios_base::xalloc() == 2);
-    assert(std::ios_base::xalloc() == 3);
-    assert(std::ios_base::xalloc() == 4);
+    int index = std::ios_base::xalloc();
+    for (int i = 0; i < 10000; ++i)
+        assert(std::ios_base::xalloc() == ++index);
 
   return 0;
 }