Browse Source

small cleanup in src/compat .h and .cpp

- add license header
- fix include guards
- fix indentation
tags/v0.15.1
Philip Kaufmann 7 years ago
parent
commit
fc0c07eb64

+ 13
- 4
src/compat/glibc_compat.cpp View File

@@ -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")));

+ 7
- 1
src/compat/glibc_sanity.cpp View File

@@ -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)
@@ -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 {

+ 28
- 22
src/compat/glibcxx_compat.cpp View File

@@ -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

@@ -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;

+ 5
- 1
src/compat/glibcxx_sanity.cpp View File

@@ -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{

+ 5
- 1
src/compat/sanity.h View File

@@ -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

Loading…
Cancel
Save