Skip to content

Commit

Permalink
small cleanup in src/compat .h and .cpp
Browse files Browse the repository at this point in the history
- add license header
- fix include guards
- fix indentation
  • Loading branch information
Philip Kaufmann committed Jun 21, 2014
1 parent aaacfa0 commit fc0c07e
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 29 deletions.
17 changes: 13 additions & 4 deletions src/compat/glibc_compat.cpp
Original file line number Diff line number Diff line change
@@ -1,19 +1,28 @@
// Copyright (c) 2009-2014 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#if defined(HAVE_CONFIG_H)
#include "bitcoin-config.h"
#endif

#include <cstddef>
#if defined(HAVE_SYS_SELECT_H)
#include <sys/select.h>
#endif

// Prior to GLIBC_2.14, memcpy was aliased to memmove.
extern "C" void* memmove(void* a, const void* b, size_t c);
extern "C" void* memcpy(void* a, const void* b, size_t c)
{
return memmove(a, b, c);
return memmove(a, b, c);
}

extern "C" void __chk_fail (void) __attribute__((__noreturn__));
extern "C" FDELT_TYPE __fdelt_warn(FDELT_TYPE a)
{
if (a >= FD_SETSIZE)
__chk_fail ();
return a / __NFDBITS;
if (a >= FD_SETSIZE)
__chk_fail ();
return a / __NFDBITS;
}
extern "C" FDELT_TYPE __fdelt_chk(FDELT_TYPE) __attribute__((weak, alias("__fdelt_warn")));
8 changes: 7 additions & 1 deletion src/compat/glibc_sanity.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
// Copyright (c) 2009-2014 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#if defined(HAVE_CONFIG_H)
#include "bitcoin-config.h"
#endif

#include <cstddef>
#if defined(HAVE_SYS_SELECT_H)
Expand All @@ -8,7 +14,7 @@
extern "C" void* memcpy(void* a, const void* b, size_t c);
void* memcpy_int(void* a, const void* b, size_t c)
{
return memcpy(a,b,c);
return memcpy(a,b,c);
}

namespace {
Expand Down
50 changes: 28 additions & 22 deletions src/compat/glibcxx_compat.cpp
Original file line number Diff line number Diff line change
@@ -1,49 +1,55 @@
// Copyright (c) 2009-2014 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include <cstddef>
#include <istream>
#include <stdexcept>
#include <typeinfo>

#ifndef _GLIBCXX_USE_NOEXCEPT
#define _GLIBCXX_USE_NOEXCEPT throw()
#define _GLIBCXX_USE_NOEXCEPT throw()
#endif

namespace std {

const char* bad_exception::what() const throw()
{
return "std::bad_exception";
return "std::bad_exception";
}

const char* bad_cast::what() const throw()
{
return "std::bad_cast";
return "std::bad_cast";
}

const char* bad_alloc::what() const throw()
{
return "std::bad_alloc";
return "std::bad_alloc";
}

namespace __detail
{
struct _List_node_base
{
void _M_hook(std::__detail::_List_node_base* const __position) throw () __attribute__((used))
{
_M_next = __position;
_M_prev = __position->_M_prev;
__position->_M_prev->_M_next = this;
__position->_M_prev = this;
}
void _M_unhook() __attribute__((used))
{
_List_node_base* const __next_node = _M_next;
_List_node_base* const __prev_node = _M_prev;
__prev_node->_M_next = __next_node;
__next_node->_M_prev = __prev_node;
}
_List_node_base* _M_next;
_List_node_base* _M_prev;
void _M_hook(std::__detail::_List_node_base* const __position) throw () __attribute__((used))
{
_M_next = __position;
_M_prev = __position->_M_prev;
__position->_M_prev->_M_next = this;
__position->_M_prev = this;
}

void _M_unhook() __attribute__((used))
{
_List_node_base* const __next_node = _M_next;
_List_node_base* const __prev_node = _M_prev;
__prev_node->_M_next = __next_node;
__next_node->_M_prev = __prev_node;
}

_List_node_base* _M_next;
_List_node_base* _M_prev;
};
} // namespace detail

Expand All @@ -61,8 +67,8 @@ out_of_range::~out_of_range() _GLIBCXX_USE_NOEXCEPT { }
// Used with permission.
// See: https://github.com/madlib/madlib/commit/c3db418c0d34d6813608f2137fef1012ce03043d

void
ctype<char>::_M_widen_init() const {
void ctype<char>::_M_widen_init() const
{
char __tmp[sizeof(_M_widen)];
for (unsigned __i = 0; __i < sizeof(_M_widen); ++__i)
__tmp[__i] = __i;
Expand Down
6 changes: 5 additions & 1 deletion src/compat/glibcxx_sanity.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
#include <locale>
// Copyright (c) 2009-2014 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#include <list>
#include <locale>
#include <stdexcept>

namespace{
Expand Down
6 changes: 5 additions & 1 deletion src/compat/sanity.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
// Copyright (c) 2009-2014 The Bitcoin developers
// Distributed under the MIT/X11 software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCON_COMPAT_SANITY_H
#define BITCON_COMPAT_SANITY_H

bool glibc_sanity_test();
bool glibcxx_sanity_test();

#endif
#endif // BITCON_COMPAT_SANITY_H

0 comments on commit fc0c07e

Please sign in to comment.