]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/28_regex/match_results/ctors/char/default.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 28_regex / match_results / ctors / char / default.cc
CommitLineData
52066eae 1// { dg-do run { target c++11 } }
b6a8e347 2// { dg-timeout-factor 2 }
849cab7b
SW
3
4// 2009-06-10 Stephen M. Webb <stephen.webb@bregmasoft.com>
5//
99dee823 6// Copyright (C) 2009-2021 Free Software Foundation, Inc.
849cab7b
SW
7//
8// This file is part of the GNU ISO C++ Library. This library is free
9// software; you can redistribute it and/or modify it under the
10// terms of the GNU General Public License as published by the
11// Free Software Foundation; either version 3, or (at your option)
12// any later version.
13
14// This library is distributed in the hope that it will be useful,
15// but WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17// GNU General Public License for more details.
18
19// You should have received a copy of the GNU General Public License along
20// with this library; see the file COPYING3. If not see
21// <http://www.gnu.org/licenses/>.
22
23// C++0X [28.10.1] class template match_results constructor
24
25#include <regex>
26#include <testsuite_hooks.h>
e9ecac30 27#include <testsuite_common_types.h>
849cab7b 28
e9ecac30 29// Tests default constructor of the match_result class.
849cab7b
SW
30void test01()
31{
4be2a081 32 std::cmatch cm;
849cab7b 33 VERIFY( cm.size() == 0 );
4be2a081 34 VERIFY( !cm.ready() );
ecba3566
JW
35 VERIFY( cm.empty() );
36 VERIFY( cm.begin() == cm.end() ); // PR libstdc++/83600
849cab7b
SW
37}
38
39void test02()
40{
4be2a081 41 std::smatch sm;
849cab7b 42 VERIFY( sm.size() == 0 );
4be2a081 43 VERIFY( !sm.ready() );
ecba3566
JW
44 VERIFY( sm.empty() );
45 VERIFY( sm.begin() == sm.end() ); // PR libstdc++/83600
849cab7b
SW
46}
47
e9ecac30
JW
48void test03()
49{
50 // P0935R0
51 __gnu_test::implicitly_default_constructible test;
52 test.operator()<std::cmatch>();
53 test.operator()<std::smatch>();
54}
55
849cab7b
SW
56int
57main()
e9ecac30 58{
849cab7b
SW
59 test01();
60 test02();
e9ecac30 61 test03();
4be2a081 62}