Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8817: Boost Thread Windows CE _createthreadex handling breaks mingw w64
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-08-15 17:28:20
#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
Resolution: | Keywords: MinGW uintptr_t
------------------------------------------+-----------------------------
Comment (by Andrew Ho <helloworld922@â¦>):
Should the code for detecting BOOST_NO_SWPRINTF, BOOST_HAS_THREADEX, and
BOOST_HAS_GETSYSTEMTIMEASFILETIME be moved to win32.hpp (from
visualc.hpp)? These are platform-specific defines, not compiler-specific.
You should be able to verify this with Mingw testing this code:
{{{
#include <boost/config>
#include <iostream>
int main(void)
{
#ifndef BOOST_HAS_THREADEX
// This should be true for any compiler targeting Windows and can use
the WinAPI, which MinGW can
std::cout << "didn't detect BOOST_HAS_THREADEX" << std::endl;
#else
std::cout << "has BOOST_HAS_THREADEX" << std::endl;
#endif
}
}}}
As-is, MinGW will still not detect these correctly because it doesn't (and
shouldn't) include visualc.hpp. However, when targeting Windows it should
and will include win32.hpp and detection will work as intended.
I've added a smaller patch which only applies these fixes to Config, so
applying '''minimal-thread.cpp.patch''' and '''mingw.config.patch'''
should fully fix Boost.Config and Boost.Thread.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/8817#comment:6> 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