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