Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / libstdc++-v3 / testsuite / 22_locale / ctype_base / mask.cc
1 // { dg-do compile }
2 // 1999-08-24 bkoz
3
4 // Copyright (C) 1999-2013 Free Software Foundation, Inc.
5 //
6 // This file is part of the GNU ISO C++ Library.  This library is free
7 // software; you can redistribute it and/or modify it under the
8 // terms of the GNU General Public License as published by the
9 // Free Software Foundation; either version 3, or (at your option)
10 // any later version.
11
12 // This library is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16
17 // You should have received a copy of the GNU General Public License along
18 // with this library; see the file COPYING3.  If not see
19 // <http://www.gnu.org/licenses/>.
20
21 // 22.2.1 The ctype category
22
23 // 1: Test that the locale headers are picking up the correct declaration
24 // of the internal type `ctype_base::mask'.
25 int mask ();
26
27 #include <locale>
28
29 // 2: Sanity check ctype_base::mask bitmask requirements
30 void
31 test01()
32 {
33   using namespace std;
34
35   ctype_base::mask m01;
36   ctype_base::mask m02;
37   ctype_base::mask res;
38
39   m01 = ctype_base::space;
40   m02 = ctype_base::xdigit;
41
42   res = m01 & m02;
43   res = m01 | m02;
44   res = m01 ^ m02;
45   res = ~m01;
46   res = res; // Suppress unused warning.
47
48   m01 &= m02;
49   m01 |= m02;
50   m01 ^= m02;
51 }
52
53 int main() 
54
55   test01();
56   return 0;
57 }