On Mon, Sep 20, 2010 at 11:36 PM, Hradec <[email protected]> wrote:
> That fixed the warning, but I'm still getting the same errors:
> i686-w64-mingw32-g++ -c -MMD -g -O0 -DTBB_USE_DEBUG -DUSE_WINTHREAD
> -D__MSVCRT_VERSION__=0x0700 -msse -mthreads -m32    -fno-rtti
> -fno-exceptions -D__TBB_BUILD=1 -Wno-parentheses  -I../../src
> -I../../include -I../../src/tbbmalloc -I../../src/tbbmalloc
> ../../src/tbbmalloc/MemoryAllocator.cpp
> ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'uintptr_t
> rml::internal::cleanupCacheIfNeed()':
> ../../src/tbbmalloc/MemoryAllocator.cpp:1384:70: error: invalid
> initialization of reference of type 'volatile uintptr_t&' from expression of
> type 'size_t'
> ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
> 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
> ../../src/tbbmalloc/MemoryAllocator.cpp:1385:68: error: invalid
> initialization of reference of type 'volatile uintptr_t&' from expression of
> type 'size_t'
> ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
> 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
> ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'void*
> rml::internal::allocateCachedLargeObject(size_t)':
> ../../src/tbbmalloc/MemoryAllocator.cpp:1402:51: error: invalid
> initialization of reference of type 'volatile uintptr_t&' from expression of
> type 'size_t'
> ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
> 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
> ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'void*
> rml::internal::mallocLargeObject(size_t, size_t)':
> ../../src/tbbmalloc/MemoryAllocator.cpp:1419:54: error: invalid
> initialization of reference of type 'volatile uintptr_t&' from expression of
> type 'size_t'
> ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
> 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
> ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'bool
> rml::internal::freeLargeObjectToCache(rml::internal::LargeObjectHeader*)':
> ../../src/tbbmalloc/MemoryAllocator.cpp:1450:50: error: invalid
> initialization of reference of type 'volatile uintptr_t&' from expression of
> type 'size_t'
> ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
> 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
> ../../src/tbbmalloc/MemoryAllocator.cpp:1456:51: error: invalid
> initialization of reference of type 'volatile uintptr_t&' from expression of
> type 'size_t'
> ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
> 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
> ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'void
> rml::internal::freeLargeObject(void*)':
> ../../src/tbbmalloc/MemoryAllocator.cpp:1468:62: error: invalid
> initialization of reference of type 'volatile uintptr_t&' from expression of
> type 'size_t'
> ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
> 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
> any more ideas?
>
> On Mon, Sep 20, 2010 at 7:26 PM, Dongsheng Song <[email protected]>
> wrote:
>>
>>  On 2010-9-21 10:11, Hradec wrote:
>> > I got tbb.dll to build properly, but its failling when building
>> > tbbmalloc:
>> >
>> >
>> > ../../src/tbbmalloc/MemoryAllocator.cpp:42:0: warning: "_WIN32_WINNT"
>> > redefined
>> >
>> > /media/MyBook2TB_2/Mirror/cortex4all/trunk/compilers/linux.mingw32.4.6.0_20100411/bin/../lib/gcc/i686-w64-mingw32/4.6.0/../../../../i686-w64-mingw32/include/_mingw.h:171:0:
>> > note: this is the location of the previous definition
>> > ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'uintptr_t
>> > rml::internal::cleanupCacheIfNeed()':
>> > ../../src/tbbmalloc/MemoryAllocator.cpp:1384:70: error: invalid
>> > initialization of reference of type 'volatile uintptr_t&' from expression 
>> > of
>> > type 'size_t'
>> > ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
>> > 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
>> > ../../src/tbbmalloc/MemoryAllocator.cpp:1385:68: error: invalid
>> > initialization of reference of type 'volatile uintptr_t&' from expression 
>> > of
>> > type 'size_t'
>> > ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
>> > 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
>> > ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'void*
>> > rml::internal::allocateCachedLargeObject(size_t)':
>> > ../../src/tbbmalloc/MemoryAllocator.cpp:1402:51: error: invalid
>> > initialization of reference of type 'volatile uintptr_t&' from expression 
>> > of
>> > type 'size_t'
>> > ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
>> > 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
>> > ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'void*
>> > rml::internal::mallocLargeObject(size_t, size_t)':
>> > ../../src/tbbmalloc/MemoryAllocator.cpp:1419:54: error: invalid
>> > initialization of reference of type 'volatile uintptr_t&' from expression 
>> > of
>> > type 'size_t'
>> > ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
>> > 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
>> > ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'bool
>> > rml::internal::freeLargeObjectToCache(rml::internal::LargeObjectHeader*)':
>> > ../../src/tbbmalloc/MemoryAllocator.cpp:1450:50: error: invalid
>> > initialization of reference of type 'volatile uintptr_t&' from expression 
>> > of
>> > type 'size_t'
>> > ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
>> > 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
>> > ../../src/tbbmalloc/MemoryAllocator.cpp:1456:51: error: invalid
>> > initialization of reference of type 'volatile uintptr_t&' from expression 
>> > of
>> > type 'size_t'
>> > ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
>> > 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
>> > ../../src/tbbmalloc/MemoryAllocator.cpp: In function 'void
>> > rml::internal::freeLargeObject(void*)':
>> > ../../src/tbbmalloc/MemoryAllocator.cpp:1468:62: error: invalid
>> > initialization of reference of type 'volatile uintptr_t&' from expression 
>> > of
>> > type 'size_t'
>> > ../../src/tbbmalloc/Customize.h:97:18: error: in passing argument 1 of
>> > 'uintptr_t AtomicAdd(volatile uintptr_t&, uintptr_t)'
>> > make[2]: *** [MemoryAllocator.o] Error 1
>> > make[2]: Leaving directory
>> >
>> > `/media/MyBook2TB_2/Mirror/cortex4all/trunk/OIIO/externals/build/mingw/obj/tbb22_004oss/build/windows_ia32_gcc_mingw_debug'
>> > make[1]: *** [tbbmalloc] Error 2
>> > make[1]: Leaving directory
>> > `/media/MyBook2TB_2/Mirror/cortex4all/trunk/OIIO/externals/build/mingw/obj/tbb22_004oss'
>> >
>> >
>> > I'm using the automated build:
>> >
>> > i686-w64-mingw32-gcc (GCC) 4.6.0 20100411 (experimental)
>> >
>> > should I try with a newer one?
>> >
>> > --
>> > Hradec
>> >
>>
>> No, This is TBB bug, the following code in MemoryAllocator.cpp:
>>
>> #if USE_PTHREAD
>>    // Some pthreads documentation says that <pthreads.h> must be first
>> header.
>>    #include <pthread.h>
>>    #define TlsSetValue_func pthread_setspecific
>>    #define TlsGetValue_func pthread_getspecific
>>    typedef pthread_key_t tls_key_t;
>>    #include <sched.h>
>>    inline void do_yield() {sched_yield();}
>>
>> #elif USE_WINTHREAD
>>    #define _WIN32_WINNT 0x0400
>>    #include <windows.h>
>>    #define TlsSetValue_func TlsSetValue
>>    #define TlsGetValue_func TlsGetValue
>>    typedef DWORD tls_key_t;
>>    inline void do_yield() {SwitchToThread();}
>>
>> #else
>>    #error Must define USE_PTHREAD or USE_WINTHREAD
>>
>> #endif
>>
>> Should be changed to:
>>
>> #if USE_PTHREAD
>>    // Some pthreads documentation says that <pthreads.h> must be first
>> header.
>>    #include <pthread.h>
>>    #define TlsSetValue_func pthread_setspecific
>>    #define TlsGetValue_func pthread_getspecific
>>    typedef pthread_key_t tls_key_t;
>>    #include <sched.h>
>>    inline void do_yield() {sched_yield();}
>>
>> #elif USE_WINTHREAD
>>    #ifndef _WIN32_WINNT
>>    #define _WIN32_WINNT 0x0400
>>    #endif
>>
>>    #include <windows.h>
>>    #define TlsSetValue_func TlsSetValue
>>    #define TlsGetValue_func TlsGetValue
>>    typedef DWORD tls_key_t;
>>    inline void do_yield() {SwitchToThread();}
>>
>> #else
>>    #error Must define USE_PTHREAD or USE_WINTHREAD
>>
>> #endif


Are you still having issues?

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to