Commit 2c59c2d1 by Joel Sherrill Committed by Joel Sherrill

mt_allocator.cc: Fix assumption that sizeof(void *) is equal to sizeof(size_t).

2014-11-14  Joel Sherrill <joel.sherrill@oarcorp.com>

	* src/c++98/mt_allocator.cc: Fix assumption that sizeof(void *) is
	equal to sizeof(size_t). The m32c breaks this assumption.

From-SVN: r217576
parent ba86734c
2014-11-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* src/c++98/mt_allocator.cc: Fix assumption that sizeof(void *) is
equal to sizeof(size_t). The m32c breaks this assumption.
2014-11-14 Jonathan Wakely <jwakely@redhat.com>
* config/abi/pre/gnu.ver: Add new exports.
......
......@@ -31,6 +31,11 @@
#include <ext/mt_allocator.h>
#include <cstring>
// The include file is needed for uintptr_t. If this file does not compile,
// check to make sure the target has <stdint.h> and that it provides
// uintptr_t.
#include <stdint.h>
namespace
{
#ifdef __GTHREADS
......@@ -74,7 +79,7 @@ namespace
__freelist& freelist = get_freelist();
{
__gnu_cxx::__scoped_lock sentry(get_freelist_mutex());
size_t _M_id = reinterpret_cast<size_t>(__id);
uintptr_t _M_id = reinterpret_cast<uintptr_t>(__id);
typedef __gnu_cxx::__pool<true>::_Thread_record _Thread_record;
_Thread_record* __tr = &freelist._M_thread_freelist_array[_M_id - 1];
......@@ -627,7 +632,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{
__freelist& freelist = get_freelist();
void* v = __gthread_getspecific(freelist._M_key);
size_t _M_id = (size_t)v;
uintptr_t _M_id = (uintptr_t)v;
if (_M_id == 0)
{
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment