[Boost-bugs] [Boost C++ Libraries] #8817: Boost Thread Windows CE _createthreadex handling breaks mingw w64

Subject: [Boost-bugs] [Boost C++ Libraries] #8817: Boost Thread Windows CE _createthreadex handling breaks mingw w64
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-07-13 10:37:10


#8817: Boost Thread Windows CE _createthreadex handling breaks mingw w64
-----------------------------------------+----------------------
 Reporter: Andrew Ho <helloworld922@…> | Owner: anthonyw
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: thread
  Version: Boost Development Trunk | Severity: Problem
 Keywords: |
-----------------------------------------+----------------------
 The applicable code:

 {{{
 #ifndef BOOST_HAS_THREADEX
 // Windows CE doesn't define _beginthreadex
 typedef void* uintptr_t;
 // ... more code
 #endif
 }}}

 For some reason mingw-w64 will evaluate this code. This redefines
 uintptr_t (as well as _beginthreadex related code), which causes the build
 to fail.

 [https://groups.google.com/d/msg/microsoft.public.windowsce.app.development
 /o_7hgu0G-II/VhuEmWk1ROIJ This post] has a solution which avoids defining
 uintptr_t at all, and is targeted specifically for Windows CE rather than
 some arbitrary BOOST_HAS_THREADEX macro define.

 I've created a patch which incorporates the fix and it does compile with
 mingw-w64 (mingw-builds, gcc 4.8.1 targeting windows x64), and doesn't
 break building with VS2012 (really shouldn't break any VS builds targeting
 Win32).

 I don't know when the problem first occurs, but I do know that it fails in
 1.53.0 all the way to trunk (my current working directory is r85020).

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8817>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC