OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [libstdc++-v3/] [src/] [compatibility-c++0x.cc] - Blame information for rev 826

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 424 jeremybenn
// Compatibility symbols for previous versions, C++0x bits -*- C++ -*-
2
 
3
// Copyright (C) 2009, 2010 Free Software Foundation, Inc.
4
//
5
// This file is part of the GNU ISO C++ Library.  This library is free
6
// software; you can redistribute it and/or modify it under the
7
// terms of the GNU General Public License as published by the
8
// Free Software Foundation; either version 3, or (at your option)
9
// any later version.
10
 
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
// GNU General Public License for more details.
15
 
16
// Under Section 7 of GPL version 3, you are granted additional
17
// permissions described in the GCC Runtime Library Exception, version
18
// 3.1, as published by the Free Software Foundation.
19
 
20
// You should have received a copy of the GNU General Public License and
21
// a copy of the GCC Runtime Library Exception along with this program;
22
// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23
// <http://www.gnu.org/licenses/>.
24
 
25
#define _GLIBCXX_COMPATIBILITY_CXX0X
26
#include <string>
27
#include <system_error>
28
 
29
#ifndef __GXX_EXPERIMENTAL_CXX0X__
30
# error "compatibility-c++0x.cc must be compiled with -std=gnu++0x"
31
#endif
32
 
33
namespace std
34
{
35
  // gcc-4.4.0
36
  // <mutex> exported std::lock_error
37
#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
38
  class lock_error : public exception
39
  {
40
  public:
41
    virtual const char*
42
    _GLIBCXX_CONST what() const throw();
43
  };
44
 
45
  const char*
46
  lock_error::what() const throw()
47
  { return "std::lock_error"; }
48
#endif
49
 
50
  // We need these due to the symbols exported since GLIBCXX_3.4.10.
51
  // See libstdc++/41662 for details.
52
 
53
#include "hash-string-aux.cc"
54
 
55
  template<>
56
    size_t
57
    hash<error_code>::operator()(error_code __e) const
58
    {
59
      const size_t __tmp = std::_Fnv_hash::hash(__e._M_value);
60
      return std::_Fnv_hash::__hash_combine(__e._M_cat, __tmp);
61
    }
62
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.