15a83710eSEric Fiselier //===----------------------------------------------------------------------===// 25a83710eSEric Fiselier // 357b08b09SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 457b08b09SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 557b08b09SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 65a83710eSEric Fiselier // 75a83710eSEric Fiselier //===----------------------------------------------------------------------===// 85a83710eSEric Fiselier 95a83710eSEric Fiselier // <iosfwd> 105a83710eSEric Fiselier 115a83710eSEric Fiselier #include <iosfwd> 125a83710eSEric Fiselier 137fc6a556SMarshall Clow #include "test_macros.h" 147fc6a556SMarshall Clow 15*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 16*f4c1258dSLouis Dionne # include <cwchar> 17*f4c1258dSLouis Dionne #endif 18*f4c1258dSLouis Dionne test()194dc0ed83SStephan T. Lavavejtemplate <class Ptr> void test() 204dc0ed83SStephan T. Lavavej { 214dc0ed83SStephan T. Lavavej Ptr p = 0; 224dc0ed83SStephan T. Lavavej ((void)p); // Prevent unused warning 234dc0ed83SStephan T. Lavavej } 244dc0ed83SStephan T. Lavavej main(int,char **)252df59c50SJF Bastienint main(int, char**) 265a83710eSEric Fiselier { 274dc0ed83SStephan T. Lavavej test<std::char_traits<char>* >(); 28*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 294dc0ed83SStephan T. Lavavej test<std::char_traits<wchar_t>* >(); 30*f4c1258dSLouis Dionne #endif 314dc0ed83SStephan T. Lavavej 324dc0ed83SStephan T. Lavavej test<std::basic_ios<char>* >(); 33*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 344dc0ed83SStephan T. Lavavej test<std::basic_ios<wchar_t>* >(); 35*f4c1258dSLouis Dionne #endif 364dc0ed83SStephan T. Lavavej test<std::basic_ios<unsigned short>*>(); 374dc0ed83SStephan T. Lavavej 384dc0ed83SStephan T. Lavavej test<std::basic_streambuf<char>* >(); 39*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 404dc0ed83SStephan T. Lavavej test<std::basic_streambuf<wchar_t>* >(); 41*f4c1258dSLouis Dionne #endif 424dc0ed83SStephan T. Lavavej test<std::basic_streambuf<unsigned short>*>(); 434dc0ed83SStephan T. Lavavej 444dc0ed83SStephan T. Lavavej test<std::basic_istream<char>* >(); 45*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 464dc0ed83SStephan T. Lavavej test<std::basic_istream<wchar_t>* >(); 47*f4c1258dSLouis Dionne #endif 484dc0ed83SStephan T. Lavavej test<std::basic_istream<unsigned short>*>(); 494dc0ed83SStephan T. Lavavej 504dc0ed83SStephan T. Lavavej test<std::basic_ostream<char>* >(); 51*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 524dc0ed83SStephan T. Lavavej test<std::basic_ostream<wchar_t>* >(); 53*f4c1258dSLouis Dionne #endif 544dc0ed83SStephan T. Lavavej test<std::basic_ostream<unsigned short>*>(); 554dc0ed83SStephan T. Lavavej 564dc0ed83SStephan T. Lavavej test<std::basic_iostream<char>* >(); 57*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 584dc0ed83SStephan T. Lavavej test<std::basic_iostream<wchar_t>* >(); 59*f4c1258dSLouis Dionne #endif 604dc0ed83SStephan T. Lavavej test<std::basic_iostream<unsigned short>*>(); 614dc0ed83SStephan T. Lavavej 624dc0ed83SStephan T. Lavavej test<std::basic_stringbuf<char>* >(); 63*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 644dc0ed83SStephan T. Lavavej test<std::basic_stringbuf<wchar_t>* >(); 65*f4c1258dSLouis Dionne #endif 664dc0ed83SStephan T. Lavavej test<std::basic_stringbuf<unsigned short>*>(); 674dc0ed83SStephan T. Lavavej 684dc0ed83SStephan T. Lavavej test<std::basic_istringstream<char>* >(); 69*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 704dc0ed83SStephan T. Lavavej test<std::basic_istringstream<wchar_t>* >(); 71*f4c1258dSLouis Dionne #endif 724dc0ed83SStephan T. Lavavej test<std::basic_istringstream<unsigned short>*>(); 734dc0ed83SStephan T. Lavavej 744dc0ed83SStephan T. Lavavej test<std::basic_ostringstream<char>* >(); 75*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 764dc0ed83SStephan T. Lavavej test<std::basic_ostringstream<wchar_t>* >(); 77*f4c1258dSLouis Dionne #endif 784dc0ed83SStephan T. Lavavej test<std::basic_ostringstream<unsigned short>*>(); 794dc0ed83SStephan T. Lavavej 804dc0ed83SStephan T. Lavavej test<std::basic_stringstream<char>* >(); 81*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 824dc0ed83SStephan T. Lavavej test<std::basic_stringstream<wchar_t>* >(); 83*f4c1258dSLouis Dionne #endif 844dc0ed83SStephan T. Lavavej test<std::basic_stringstream<unsigned short>*>(); 854dc0ed83SStephan T. Lavavej 864dc0ed83SStephan T. Lavavej test<std::basic_filebuf<char>* >(); 87*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 884dc0ed83SStephan T. Lavavej test<std::basic_filebuf<wchar_t>* >(); 89*f4c1258dSLouis Dionne #endif 904dc0ed83SStephan T. Lavavej test<std::basic_filebuf<unsigned short>*>(); 914dc0ed83SStephan T. Lavavej 924dc0ed83SStephan T. Lavavej test<std::basic_ifstream<char>* >(); 93*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 944dc0ed83SStephan T. Lavavej test<std::basic_ifstream<wchar_t>* >(); 95*f4c1258dSLouis Dionne #endif 964dc0ed83SStephan T. Lavavej test<std::basic_ifstream<unsigned short>*>(); 974dc0ed83SStephan T. Lavavej 984dc0ed83SStephan T. Lavavej test<std::basic_ofstream<char>* >(); 99*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 1004dc0ed83SStephan T. Lavavej test<std::basic_ofstream<wchar_t>* >(); 101*f4c1258dSLouis Dionne #endif 1024dc0ed83SStephan T. Lavavej test<std::basic_ofstream<unsigned short>*>(); 1034dc0ed83SStephan T. Lavavej 1044dc0ed83SStephan T. Lavavej test<std::basic_fstream<char>* >(); 105*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 1064dc0ed83SStephan T. Lavavej test<std::basic_fstream<wchar_t>* >(); 107*f4c1258dSLouis Dionne #endif 1084dc0ed83SStephan T. Lavavej test<std::basic_fstream<unsigned short>*>(); 1094dc0ed83SStephan T. Lavavej 1104dc0ed83SStephan T. Lavavej test<std::istreambuf_iterator<char>* >(); 111*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 1124dc0ed83SStephan T. Lavavej test<std::istreambuf_iterator<wchar_t>* >(); 113*f4c1258dSLouis Dionne #endif 1144dc0ed83SStephan T. Lavavej test<std::istreambuf_iterator<unsigned short>*>(); 1154dc0ed83SStephan T. Lavavej 1164dc0ed83SStephan T. Lavavej test<std::ostreambuf_iterator<char>* >(); 117*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 1184dc0ed83SStephan T. Lavavej test<std::ostreambuf_iterator<wchar_t>* >(); 119*f4c1258dSLouis Dionne #endif 1204dc0ed83SStephan T. Lavavej test<std::ostreambuf_iterator<unsigned short>*>(); 1214dc0ed83SStephan T. Lavavej 1224dc0ed83SStephan T. Lavavej test<std::ios* >(); 123*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 1244dc0ed83SStephan T. Lavavej test<std::wios*>(); 125*f4c1258dSLouis Dionne #endif 1264dc0ed83SStephan T. Lavavej 1274dc0ed83SStephan T. Lavavej test<std::streambuf*>(); 1284dc0ed83SStephan T. Lavavej test<std::istream* >(); 1294dc0ed83SStephan T. Lavavej test<std::ostream* >(); 1304dc0ed83SStephan T. Lavavej test<std::iostream* >(); 1314dc0ed83SStephan T. Lavavej 1324dc0ed83SStephan T. Lavavej test<std::stringbuf* >(); 1334dc0ed83SStephan T. Lavavej test<std::istringstream*>(); 1344dc0ed83SStephan T. Lavavej test<std::ostringstream*>(); 1354dc0ed83SStephan T. Lavavej test<std::stringstream* >(); 1364dc0ed83SStephan T. Lavavej 1374dc0ed83SStephan T. Lavavej test<std::filebuf* >(); 1384dc0ed83SStephan T. Lavavej test<std::ifstream*>(); 1394dc0ed83SStephan T. Lavavej test<std::ofstream*>(); 1404dc0ed83SStephan T. Lavavej test<std::fstream* >(); 1414dc0ed83SStephan T. Lavavej 142*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 1434dc0ed83SStephan T. Lavavej test<std::wstreambuf*>(); 1444dc0ed83SStephan T. Lavavej test<std::wistream* >(); 1454dc0ed83SStephan T. Lavavej test<std::wostream* >(); 1464dc0ed83SStephan T. Lavavej test<std::wiostream* >(); 1474dc0ed83SStephan T. Lavavej 1484dc0ed83SStephan T. Lavavej test<std::wstringbuf* >(); 1494dc0ed83SStephan T. Lavavej test<std::wistringstream*>(); 1504dc0ed83SStephan T. Lavavej test<std::wostringstream*>(); 1514dc0ed83SStephan T. Lavavej test<std::wstringstream* >(); 1524dc0ed83SStephan T. Lavavej 1534dc0ed83SStephan T. Lavavej test<std::wfilebuf* >(); 1544dc0ed83SStephan T. Lavavej test<std::wifstream*>(); 1554dc0ed83SStephan T. Lavavej test<std::wofstream*>(); 1564dc0ed83SStephan T. Lavavej test<std::wfstream* >(); 157*f4c1258dSLouis Dionne #endif 1584dc0ed83SStephan T. Lavavej 1594dc0ed83SStephan T. Lavavej test<std::fpos<std::mbstate_t>*>(); 1604dc0ed83SStephan T. Lavavej test<std::streampos* >(); 161*f4c1258dSLouis Dionne #ifndef TEST_HAS_NO_WIDE_CHARACTERS 1624dc0ed83SStephan T. Lavavej test<std::wstreampos* >(); 163*f4c1258dSLouis Dionne #endif 1642df59c50SJF Bastien 1652df59c50SJF Bastien return 0; 1665a83710eSEric Fiselier } 167