wctype_h.pass.cpp revision bc8d3f97eb5c958007f2713238472e0c1c8fe02
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// <wctype.h> 11 12#include <wctype.h> 13#include <type_traits> 14 15#ifndef WEOF 16#error WEOF not defined 17#endif 18 19#ifdef iswalnum 20#error iswalnum defined 21#endif 22 23#ifdef iswalpha 24#error iswalpha defined 25#endif 26 27#ifdef iswblank 28#error iswblank defined 29#endif 30 31#ifdef iswcntrl 32#error iswcntrl defined 33#endif 34 35#ifdef iswdigit 36#error iswdigit defined 37#endif 38 39#ifdef iswgraph 40#error iswgraph defined 41#endif 42 43#ifdef iswlower 44#error iswlower defined 45#endif 46 47#ifdef iswprint 48#error iswprint defined 49#endif 50 51#ifdef iswpunct 52#error iswpunct defined 53#endif 54 55#ifdef iswspace 56#error iswspace defined 57#endif 58 59#ifdef iswupper 60#error iswupper defined 61#endif 62 63#ifdef iswxdigit 64#error iswxdigit defined 65#endif 66 67#ifdef iswctype 68#error iswctype defined 69#endif 70 71#ifdef wctype 72#error wctype defined 73#endif 74 75#ifdef towlower 76#error towlower defined 77#endif 78 79#ifdef towupper 80#error towupper defined 81#endif 82 83#ifdef towctrans 84#error towctrans defined 85#endif 86 87#ifdef wctrans 88#error wctrans defined 89#endif 90 91int main() 92{ 93 wint_t w = 0; 94 wctrans_t wctr = 0; 95 wctype_t wct = 0; 96 static_assert((std::is_same<decltype(iswalnum(w)), int>::value), ""); 97 static_assert((std::is_same<decltype(iswalpha(w)), int>::value), ""); 98 static_assert((std::is_same<decltype(iswblank(w)), int>::value), ""); 99 static_assert((std::is_same<decltype(iswcntrl(w)), int>::value), ""); 100 static_assert((std::is_same<decltype(iswdigit(w)), int>::value), ""); 101 static_assert((std::is_same<decltype(iswgraph(w)), int>::value), ""); 102 static_assert((std::is_same<decltype(iswlower(w)), int>::value), ""); 103 static_assert((std::is_same<decltype(iswprint(w)), int>::value), ""); 104 static_assert((std::is_same<decltype(iswpunct(w)), int>::value), ""); 105 static_assert((std::is_same<decltype(iswspace(w)), int>::value), ""); 106 static_assert((std::is_same<decltype(iswupper(w)), int>::value), ""); 107 static_assert((std::is_same<decltype(iswxdigit(w)), int>::value), ""); 108 static_assert((std::is_same<decltype(iswctype(w, wct)), int>::value), ""); 109 static_assert((std::is_same<decltype(wctype("")), wctype_t>::value), ""); 110 static_assert((std::is_same<decltype(towlower(w)), wint_t>::value), ""); 111 static_assert((std::is_same<decltype(towupper(w)), wint_t>::value), ""); 112 static_assert((std::is_same<decltype(towctrans(w, wctr)), wint_t>::value), ""); 113 static_assert((std::is_same<decltype(wctrans("")), wctrans_t>::value), ""); 114} 115