1 //===----------------------------------------------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This test uses new symbols that were not defined in the libc++ shipped on
11 // darwin11 and darwin12:
12 // XFAIL: with_system_cxx_lib=macosx10.7
13 // XFAIL: with_system_cxx_lib=macosx10.8
22 // // numeric values are for exposition only.
23 // static const mask space = 1 << 0;
24 // static const mask print = 1 << 1;
25 // static const mask cntrl = 1 << 2;
26 // static const mask upper = 1 << 3;
27 // static const mask lower = 1 << 4;
28 // static const mask alpha = 1 << 5;
29 // static const mask digit = 1 << 6;
30 // static const mask punct = 1 << 7;
31 // static const mask xdigit = 1 << 8;
32 // static const mask alnum = alpha | digit;
33 // static const mask graph = alnum | punct;
40 void test(const _Tp &) {}
44 assert(std::ctype_base::space);
45 assert(std::ctype_base::print);
46 assert(std::ctype_base::cntrl);
47 assert(std::ctype_base::upper);
48 assert(std::ctype_base::lower);
49 assert(std::ctype_base::alpha);
50 assert(std::ctype_base::digit);
51 assert(std::ctype_base::punct);
52 assert(std::ctype_base::xdigit);
54 ( std::ctype_base::space
55 & std::ctype_base::print
56 & std::ctype_base::cntrl
57 & std::ctype_base::upper
58 & std::ctype_base::lower
59 & std::ctype_base::alpha
60 & std::ctype_base::digit
61 & std::ctype_base::punct
62 & std::ctype_base::xdigit) == 0);
63 assert(std::ctype_base::alnum == (std::ctype_base::alpha | std::ctype_base::digit));
64 assert(std::ctype_base::graph == (std::ctype_base::alnum | std::ctype_base::punct));
66 test(std::ctype_base::space);
67 test(std::ctype_base::print);
68 test(std::ctype_base::cntrl);
69 test(std::ctype_base::upper);
70 test(std::ctype_base::lower);
71 test(std::ctype_base::alpha);
72 test(std::ctype_base::digit);
73 test(std::ctype_base::punct);
74 test(std::ctype_base::xdigit);
75 test(std::ctype_base::blank);
76 test(std::ctype_base::alnum);
77 test(std::ctype_base::graph);