1191450Smarcel// Compatibility symbols for previous versions, C++0x bits -*- C++ -*-
2191450Smarcel
3191450Smarcel// Copyright (C) 2013-2020 Free Software Foundation, Inc.
4191450Smarcel//
5191450Smarcel// This file is part of the GNU ISO C++ Library.  This library is free
6191450Smarcel// software; you can redistribute it and/or modify it under the
7191450Smarcel// terms of the GNU General Public License as published by the
8191450Smarcel// Free Software Foundation; either version 3, or (at your option)
9191450Smarcel// any later version.
10191450Smarcel
11191450Smarcel// This library is distributed in the hope that it will be useful,
12191450Smarcel// but WITHOUT ANY WARRANTY; without even the implied warranty of
13191450Smarcel// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14191450Smarcel// GNU General Public License for more details.
15191450Smarcel
16191450Smarcel// Under Section 7 of GPL version 3, you are granted additional
17191450Smarcel// permissions described in the GCC Runtime Library Exception, version
18191450Smarcel// 3.1, as published by the Free Software Foundation.
19191450Smarcel
20191450Smarcel// You should have received a copy of the GNU General Public License and
21191450Smarcel// a copy of the GCC Runtime Library Exception along with this program;
22191450Smarcel// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23191450Smarcel// <http://www.gnu.org/licenses/>.
24191450Smarcel
25191450Smarcel#include <bits/c++config.h>
26191450Smarcel
27191450Smarcel#if __cplusplus < 201103L
28191450Smarcel# error "compatibility-condvar-c++0x.cc must be compiled with -std=gnu++11"
29191450Smarcel#endif
30191450Smarcel
31191450Smarcel#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
32191450Smarcel
33191450Smarcel#define condition_variable_any condition_variable_anyXX
34191450Smarcel#include <condition_variable>
35209298Snwhitehorn#undef condition_variable_any
36191450Smarcel
37191450Smarcel// XXX GLIBCXX_ABI Deprecated
38191450Smarcel// gcc-4.9.0
39191450Smarcel// std::condition_variable_any replaced with std::_V2::condition_variable_any
40191450Smarcelnamespace std _GLIBCXX_VISIBILITY(default)
41191450Smarcel{
42191450Smarcel_GLIBCXX_BEGIN_NAMESPACE_VERSION
43191450Smarcel  class condition_variable_any
44191450Smarcel  {
45191450Smarcel    condition_variable			_M_cond;
46191450Smarcel    mutex				_M_mutex;
47191450Smarcel
48191450Smarcel  public:
49191450Smarcel    condition_variable_any() noexcept;
50191450Smarcel    ~condition_variable_any() noexcept;
51191450Smarcel  };
52191450Smarcel  condition_variable_any::condition_variable_any() noexcept = default;
53191450Smarcel  condition_variable_any::~condition_variable_any() noexcept = default;
54191450Smarcel_GLIBCXX_END_NAMESPACE_VERSION
55191450Smarcel} // namespace std
56191450Smarcel
57191450Smarcel#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
58191450Smarcel