mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-13 15:51:01 +08:00
os_defines.h (_GLIBCXX_LLP64): Define if llp64 abi is used.
* config/os/mingw32/os_defines.h (_GLIBCXX_LLP64): Define if llp64 abi is used. * config/os/mingw32-w64/os_defines.h: Likewise. * libsupc++/cxxabi.h (__base_class_type_info): Adjust type of __offset_flags for llp64. * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define proper for llp64 abi. (EMERGENCY_OBJ_COUNT): Likewise. (bitmask_type): Likewise. * libsupc++/hash_bytes.cc (_Hash_bytes): Handle llp64. From-SVN: r194658
This commit is contained in:
parent
ffeffdcb91
commit
3cc6dd4dce
libstdc++-v3
@ -1,3 +1,16 @@
|
||||
2012-12-21 Kai Tietz <ktietz@redhat.com>
|
||||
|
||||
* config/os/mingw32/os_defines.h (_GLIBCXX_LLP64): Define if llp64
|
||||
abi is used.
|
||||
* config/os/mingw32-w64/os_defines.h: Likewise.
|
||||
* libsupc++/cxxabi.h (__base_class_type_info): Adjust
|
||||
type of __offset_flags for llp64.
|
||||
* libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define proper
|
||||
for llp64 abi.
|
||||
(EMERGENCY_OBJ_COUNT): Likewise.
|
||||
(bitmask_type): Likewise.
|
||||
* libsupc++/hash_bytes.cc (_Hash_bytes): Handle llp64.
|
||||
|
||||
2012-12-20 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
* include/std/functional (_Require): Move to ...
|
||||
|
@ -74,4 +74,8 @@
|
||||
#define _GLIBCXX_CDTOR_CALLABI __thiscall
|
||||
#endif
|
||||
|
||||
#ifdef __x86_64__
|
||||
#define _GLIBCXX_LLP64 1
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -72,4 +72,8 @@
|
||||
#define _GLIBCXX_CDTOR_CALLABI __thiscall
|
||||
#endif
|
||||
|
||||
#ifdef __x86_64__
|
||||
#define _GLIBCXX_LLP64 1
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -356,7 +356,11 @@ namespace __cxxabiv1
|
||||
{
|
||||
public:
|
||||
const __class_type_info* __base_type; // Base class type.
|
||||
#ifdef _GLIBCXX_LLP64
|
||||
long long __offset_flags; // Offset and info.
|
||||
#else
|
||||
long __offset_flags; // Offset and info.
|
||||
#endif
|
||||
|
||||
enum __offset_flags_masks
|
||||
{
|
||||
|
@ -60,7 +60,7 @@ using namespace __cxxabiv1;
|
||||
#if INT_MAX == 32767
|
||||
# define EMERGENCY_OBJ_SIZE 128
|
||||
# define EMERGENCY_OBJ_COUNT 16
|
||||
#elif LONG_MAX == 2147483647
|
||||
#elif !defined (_GLIBCXX_LLP64) && LONG_MAX == 2147483647
|
||||
# define EMERGENCY_OBJ_SIZE 512
|
||||
# define EMERGENCY_OBJ_COUNT 32
|
||||
#else
|
||||
@ -76,8 +76,12 @@ using namespace __cxxabiv1;
|
||||
#if INT_MAX == 32767 || EMERGENCY_OBJ_COUNT <= 32
|
||||
typedef unsigned int bitmask_type;
|
||||
#else
|
||||
#if defined (_GLIBCXX_LLP64)
|
||||
typedef unsigned long long bitmask_type;
|
||||
#else
|
||||
typedef unsigned long bitmask_type;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
typedef char one_buffer[EMERGENCY_OBJ_SIZE] __attribute__((aligned));
|
||||
|
@ -128,7 +128,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
size_t
|
||||
_Hash_bytes(const void* ptr, size_t len, size_t seed)
|
||||
{
|
||||
static const size_t mul = (0xc6a4a793UL << 32UL) + 0x5bd1e995UL;
|
||||
static const size_t mul = (((size_t) 0xc6a4a793UL) << 32UL)
|
||||
+ (size_t) 0x5bd1e995UL;
|
||||
const char* const buf = static_cast<const char*>(ptr);
|
||||
|
||||
// Remove the bytes not divisible by the sizeof(size_t). This
|
||||
|
Loading…
x
Reference in New Issue
Block a user