Boost C++ Libraries: Ticket #3669: UINTMAX_C not defined by boost/cstdint.hpp https://svn.boost.org/trac10/ticket/3669 <p> In file [source:trunk/libs/thread/src/pthread/once.cpp@43799#L16 libs/thread/src/pthread/once.cpp:16] standard macro <em>UINTMAX_C</em> is used, but stdint.h header is not included. </p> <p> This causes compilation error when building using Comeau with GCC on Linux 32-bit (Ubuntu 9.04): </p> <pre class="wiki">mloskot@vb-ubuntu904:~/dev/boost/_svn/trunk/libs/thread/build$ colorbb --v2 link=static ...patience... ...found 519 targets... ...updating 2 targets... como-linux.compile.c++ ../../../bin.v2/libs/thread/build/como-linux/debug/link-static/threading-multi/pthread/once.o Comeau C/C++ 4.3.10.1 (May 7 2008 12:23:21) for LINUX_INTEL_ELF_Beta Copyright 1988-2008 Comeau Computing. All rights reserved. MODE:non-strict warnings C++ noC++0x_extensions "../../../libs/thread/src/pthread/once.cpp", line 16: error: identifier "UINTMAX_C" is undefined BOOST_THREAD_DECL boost::uintmax_t once_global_epoch=UINTMAX_C(~0); ^ 1 error detected in the compilation of "../../../libs/thread/src/pthread/once.cpp". como -tused -c --long_long -DBOOST_ALL_NO_LIB=1 -DBOOST_THREAD_BUILD_LIB=1 -DBOOST_THREAD_POSIX -D_GNU_SOURCE -D_REENTRANT --no_inlining -O0 -g --exceptions -I"../../.." -o "../../../bin.v2/libs/thread/build/como-linux/debug/link-static/threading-multi/pthread/once.o" "../../../libs/thread/src/pthread/once.cpp" 2&gt;&amp;1 ...failed como-linux.compile.c++ ../../../bin.v2/libs/thread/build/como-linux/debug/link-static/threading-multi/pthread/once.o... ...skipped &lt;p../../../bin.v2/libs/thread/build/como-linux/debug/link-static/threading-multi&gt;libboost_thread.a for lack of &lt;p../../../bin.v2/libs/thread/build/como-linux/debug/link-static/threading-multi&gt;pthread/once.o... ...failed updating 1 target... ...skipped 1 target... </pre><p> By the way, you may notice that I call <em>como</em> compiler with two extra macros defined: </p> <pre class="wiki">-D_GNU_SOURCE -D_REENTRANT </pre><p> They are required to enable C99 and POSIX features for <em>como</em> toolset. I added them to build/Jamfile.v2. However, I'm not including this changes in the patch, because I'm still testing it to confirm it's the right solution. I posted detailed explanation to ml as <a class="ext-link" href="http://thread.gmane.org/gmane.comp.lib.boost.devel/196904"><span class="icon">​</span>First results using Comeau C/C++ compiler</a> thread. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3669 Trac 1.4.3 mloskot <mateusz@…> Wed, 25 Nov 2009 01:08:58 GMT attachment set https://svn.boost.org/trac10/ticket/3669 https://svn.boost.org/trac10/ticket/3669 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">boost-thread-stdint_h-header.patch</span> </li> </ul> <p> Patch that adds missing stdint.h header </p> Ticket Anthony Williams Fri, 21 May 2010 15:26:34 GMT owner, component, summary changed https://svn.boost.org/trac10/ticket/3669#comment:1 https://svn.boost.org/trac10/ticket/3669#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Anthony Williams</span> to <span class="trac-author">Daryle Walker</span> </li> <li><strong>component</strong> <span class="trac-field-old">thread</span> → <span class="trac-field-new">integer</span> </li> <li><strong>summary</strong> <span class="trac-field-old">Missing stdint.h header from pthread/once.cpp</span> → <span class="trac-field-new">UINTMAX_C not defined by boost/cstdint.hpp</span> </li> </ul> <p> libs/thread/src/pthread/once.cpp relies on boost/cstdint.hpp providing UINTMAX_C for initializing a variable of type boost::uintmax_t. Apparently this is not provided for Comeau+gcc on Ubuntu. </p> Ticket viboes Sun, 25 Jan 2015 15:34:59 GMT owner, component changed https://svn.boost.org/trac10/ticket/3669#comment:2 https://svn.boost.org/trac10/ticket/3669#comment:2 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Daryle Walker</span> to <span class="trac-author">John Maddock</span> </li> <li><strong>component</strong> <span class="trac-field-old">integer</span> → <span class="trac-field-new">config</span> </li> </ul> Ticket John Maddock Mon, 23 Feb 2015 12:37:32 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3669#comment:3 https://svn.boost.org/trac10/ticket/3669#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> The macro is defined only when <code>BOOST__STDC_CONSTANT_MACROS_DEFINED</code> is set prior to the #include - exactly as documented. </p> Ticket