blob: 1012ceb3e06deac7f7217770b08d685ef439cbe5 [file] [log] [blame]
// { dg-do compile { target c++11 } }
// { dg-timeout-factor 2 }
//
// 2009-06-17 Stephen M. Webb <stephen.webb@xandros.com>
//
// Copyright (C) 2009-2023 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
// C++11 28.5.2 [re.matchflag]
#include <regex>
#include <testsuite_common_types.h>
void
test01()
{
std::regex_constants::match_flag_type flag = std::regex_constants::match_default;
flag |= std::regex_constants::match_not_bol;
flag |= std::regex_constants::match_not_eol;
flag |= std::regex_constants::match_not_bow;
flag |= std::regex_constants::match_not_eow;
flag |= std::regex_constants::match_any;
flag |= std::regex_constants::match_not_null;
flag |= std::regex_constants::match_continuous;
flag |= std::regex_constants::match_prev_avail;
flag |= std::regex_constants::format_default;
flag |= std::regex_constants::format_sed;
flag |= std::regex_constants::format_no_copy;
flag |= std::regex_constants::format_first_only;
}
#if __cplusplus >= 201402L
static_assert(
__gnu_test::test_bitmask_values( {
std::regex_constants::match_not_bol,
std::regex_constants::match_not_eol,
std::regex_constants::match_not_bow,
std::regex_constants::match_not_eow,
std::regex_constants::match_any,
std::regex_constants::match_not_null,
std::regex_constants::match_continuous,
std::regex_constants::match_prev_avail,
std::regex_constants::format_sed,
std::regex_constants::format_no_copy,
std::regex_constants::format_first_only
},
{
std::regex_constants::match_default,
std::regex_constants::format_default
}),
"std::regex_constants::match_flag_type bitmask elements are distinct" );
#endif
int main()
{
test01();
return 0;
}