1*50cd964eSLouis Dionne //===----------------------------------------------------------------------===// 2*50cd964eSLouis Dionne // 3*50cd964eSLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*50cd964eSLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 5*50cd964eSLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*50cd964eSLouis Dionne // 7*50cd964eSLouis Dionne //===----------------------------------------------------------------------===// 8*50cd964eSLouis Dionne 9*50cd964eSLouis Dionne // XFAIL: libcpp-has-no-stdin 10*50cd964eSLouis Dionne 11*50cd964eSLouis Dionne // <iostream> 12*50cd964eSLouis Dionne 13*50cd964eSLouis Dionne // istream wcin; 14*50cd964eSLouis Dionne 15*50cd964eSLouis Dionne // FILE_DEPENDENCIES: %t.exe 16*50cd964eSLouis Dionne // RUN: %{build} 17*50cd964eSLouis Dionne // RUN: %{exec} echo "123" | %t.exe > %t.out 18*50cd964eSLouis Dionne // RUN: grep -e 'The number is 123!' %t.out 19*50cd964eSLouis Dionne 20*50cd964eSLouis Dionne #include <iostream> 21*50cd964eSLouis Dionne #include <cassert> 22*50cd964eSLouis Dionne 23*50cd964eSLouis Dionne #include "test_macros.h" 24*50cd964eSLouis Dionne 25*50cd964eSLouis Dionne int main(int, char**) 26*50cd964eSLouis Dionne { 27*50cd964eSLouis Dionne int i; 28*50cd964eSLouis Dionne std::wcin >> i; 29*50cd964eSLouis Dionne std::wcout << L"The number is " << i << L"!"; 30*50cd964eSLouis Dionne 31*50cd964eSLouis Dionne #ifdef _LIBCPP_HAS_NO_STDOUT 32*50cd964eSLouis Dionne assert(std::wcin.tie() == NULL); 33*50cd964eSLouis Dionne #else 34*50cd964eSLouis Dionne assert(std::wcin.tie() == &std::wcout); 35*50cd964eSLouis Dionne #endif 36*50cd964eSLouis Dionne 37*50cd964eSLouis Dionne return 0; 38*50cd964eSLouis Dionne } 39