Boost C++ Libraries: Ticket #10991: cstdint.hpp doesn't work correctly on Solaris. https://svn.boost.org/trac10/ticket/10991 <p> Issue: Several tests(over 100) fail when compiling with Oracle Solaris Studio 12.4 compiler on Solaris 11.2. An example is shown below: </p> <p> CC -compat=5 -library=stlport4 -xO4 -erroff=%none -DBOOST_ALL_NO_LIB=1 -DBOOST_CHRONO_STATIC_LINK=1 -DBOOST_CHRONO_THREAD_DISABLED -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_SYSTEM_STATIC_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_TIMER_STATIC_LINK=1 -DNDEBUG -D<span class="underline">typeof</span>=<span class="underline">typeof</span> -I.. -c -o ./extended_p_square_quantile.o ../libs/accumulators/test/extended_p_square_quantile.cpp <br /> </p> <p> "../boost/random/detail/polynomial.hpp", line 30: Error: uintptr_t is not a member of boost. <br /> "../boost/random/detail/polynomial.hpp", line 33: Error: Type name expected instead of "digit_t". <br /> "../boost/random/detail/polynomial.hpp", line 41: Error: Type name expected instead of "digit_t". <br /> "../boost/random/detail/polynomial.hpp", line 58: Error: Type name expected instead of "digit_t". <br /> "../boost/random/detail/polynomial.hpp", line 76: Error: Type name expected instead of "digit_t". <br /> "../boost/random/detail/polynomial.hpp", line 104: Error: Type name expected instead of "digit_t". <br /> "../boost/random/detail/polynomial.hpp", line 113: Error: Type name expected instead of "digit_t". <br /> "../boost/random/detail/polynomial.hpp", line 121: Error: Type name expected instead of "digit_t". <br /> "../boost/random/detail/polynomial.hpp", line 140: Error: Type name expected instead of "digit_t". <br /> "../boost/random/detail/polynomial.hpp", line 167: Error: A value of type void is not allowed. <br /> "../boost/random/detail/polynomial.hpp", line 167: Error: Unexpected type name "digit_t" encountered. <br /> "../boost/random/detail/polynomial.hpp", line 167: Error: val is not defined. <br /> "../boost/random/detail/polynomial.hpp", line 167: Error: Unexpected type name "std::size_t" encountered. <br /> "../boost/random/detail/polynomial.hpp", line 167: Error: size is not defined. <br /> "../boost/random/detail/polynomial.hpp", line 167: Error: Badly formed expression. <br /> "../boost/random/detail/polynomial.hpp", line 191: Error: A value of type void is not allowed. <br /> "../boost/random/detail/polynomial.hpp", line 191: Error: Unexpected type name "digit_t" encountered. <br /> "../boost/random/detail/polynomial.hpp", line 191: Error: val is not defined. <br /> "../boost/random/detail/polynomial.hpp", line 191: Error: Unexpected type name "std::size_t" encountered. <br /> "../boost/random/detail/polynomial.hpp", line 191: Error: size is not defined. <br /> "../boost/random/detail/polynomial.hpp", line 191: Error: Badly formed expression. <br /> "../boost/random/detail/polynomial.hpp", line 225: Error: Identifier expected instead of "(". <br /> "../boost/random/detail/polynomial.hpp", line 225: Error: In this declaration "(" is of an incomplete type "void". <br /> "../boost/random/detail/polynomial.hpp", line 225: Error: "," expected instead of "(". <br /> "../boost/random/detail/polynomial.hpp", line 240: Error: Unexpected type name "digit_t" encountered. <br /> Compilation aborted, too many Error messages. <br /> </p> <p> Reason: The boost/cstdint.hpp file which defines boost::uintptr_t, does not take into account that on Solaris uintptr_t is defined under /usr/include/sys/int_types.h. <br /> </p> <p> Solution: The following diff resolves the issue. <br /> </p> <p> % diff ./cstdint.hpp ./cstdint.hpp_new <br /> 393a394,403 <br /> </p> <blockquote class="citation"> <p> #elif defined(<span class="underline">SUNPRO_CC) <br /> <br /> #include &lt;sys/int_types.h&gt; <br /> namespace boost { <br /> </span></p> <blockquote> <p> using ::intptr_t; <br /> using ::uintptr_t; <br /> </p> </blockquote> <p> } <br /> <br /> #define BOOST_HAS_INTPTR_T <br /> <br /> </p> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10991 Trac 1.4.3 John Maddock Mon, 23 Feb 2015 13:16:50 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/10991#comment:1 https://svn.boost.org/trac10/ticket/10991#comment:1 <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">fixed</span> </li> </ul> <p> I believe this is fixed in develop. </p> Ticket