1 // { dg-do run { target c++11 } }
3 // 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
5 // Copyright (C) 2009-2016 Free Software Foundation, Inc.
7 // This file is part of the GNU ISO C++ Library. This library is free
8 // software; you can redistribute it and/or modify it under the
9 // terms of the GNU General Public License as published by the
10 // Free Software Foundation; either version 3, or (at your option)
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
18 // You should have received a copy of the GNU General Public License along
19 // with this library; see the file COPYING3. If not see
20 // <http://www.gnu.org/licenses/>.
25 #include <testsuite_hooks.h>
30 std::regex_constants::syntax_option_type option
{ };
31 option
= option
| std::regex_constants::icase
;
32 option
= option
| std::regex_constants::nosubs
;
33 option
= option
| std::regex_constants::optimize
;
34 option
= option
| std::regex_constants::collate
;
35 option
= option
| std::regex_constants::ECMAScript
;
36 option
= option
| std::regex_constants::basic
;
37 option
= option
| std::regex_constants::extended
;
38 option
= option
| std::regex_constants::awk
;
39 option
= option
| std::regex_constants::grep
;
40 option
= option
| std::regex_constants::egrep
;
46 std::regex_constants::syntax_option_type option
{ };
47 option
= option
& std::regex_constants::icase
;
48 option
= option
& std::regex_constants::nosubs
;
49 option
= option
& std::regex_constants::optimize
;
50 option
= option
& std::regex_constants::collate
;
51 option
= option
& std::regex_constants::ECMAScript
;
52 option
= option
& std::regex_constants::basic
;
53 option
= option
& std::regex_constants::extended
;
54 option
= option
& std::regex_constants::awk
;
55 option
= option
& std::regex_constants::grep
;
56 option
= option
& std::regex_constants::egrep
;
62 std::regex_constants::syntax_option_type option
{ };
63 option
= ~std::regex_constants::icase
;
64 option
= ~std::regex_constants::nosubs
;
65 option
= ~std::regex_constants::optimize
;
66 option
= ~std::regex_constants::collate
;
67 option
= ~std::regex_constants::ECMAScript
;
68 option
= ~std::regex_constants::basic
;
69 option
= ~std::regex_constants::extended
;
70 option
= ~std::regex_constants::awk
;
71 option
= ~std::regex_constants::grep
;
72 option
= ~std::regex_constants::egrep
;
79 using namespace std::regex_constants
;
80 constexpr auto a1
__attribute__((unused
)) = icase
| awk
;
81 constexpr auto a2
__attribute__((unused
)) = icase
& awk
;
82 constexpr auto a3
__attribute__((unused
)) = ~grep
;
89 using namespace regex_constants
;
90 regex
re("((a)(s))", nosubs
| ECMAScript
);
91 VERIFY(re
.mark_count() == 0);