Boost C++ Libraries: Ticket #10913: Missing std:: qualifier for pow call in units/test/test_output.cpp https://svn.boost.org/trac10/ticket/10913 <p> Compiling test_output.cpp with Oracle Solaris Studio 12.4 compiler on Solaris 11.2 with -library=stlport4, we see </p> <p> "../libs/units/test/test_output.cpp", line 262: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 262: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 356: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 356: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 404: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 404: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 413: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 413: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 414: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 414: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 415: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 415: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 416: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 416: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 417: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 417: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 418: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 418: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 419: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 419: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 437: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 437: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 438: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 438: Error: The function "pow" must have a prototype. "../libs/units/test/test_output.cpp", line 439: Error: The function "pow" must have a prototype. </p> <p> The call to pow is unqualified and the following change resolves the issue. % diff ./test_output.cpp ./test_output.cpp_orig 262c262 &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 10) * byte_base_unit::unit_type(), "1024 b"); --- </p> <blockquote class="citation"> <blockquote> <p> BOOST_UNITS_TEST_OUTPUT(pow(2., 10) * byte_base_unit::unit_type(), "1024 b"); </p> </blockquote> </blockquote> <p> 356c356 &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 10) * byte_base_unit::unit_type(), "1.024 kilobyte"); --- </p> <blockquote class="citation"> <blockquote> <p> BOOST_UNITS_TEST_OUTPUT(pow(2., 10) * byte_base_unit::unit_type(), "1.024 kilobyte"); </p> </blockquote> </blockquote> <p> 404c404 &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 10) * byte_base_unit::unit_type(), "1.024 kb"); --- </p> <blockquote class="citation"> <blockquote> <p> BOOST_UNITS_TEST_OUTPUT(pow(2., 10) * byte_base_unit::unit_type(), "1.024 kb"); </p> </blockquote> </blockquote> <p> 413,419c413,419 &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 20) * byte_base_unit::unit_type(), "1 Mib"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 30) * byte_base_unit::unit_type(), "1 Gib"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 40) * byte_base_unit::unit_type(), "1 Tib"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 50) * byte_base_unit::unit_type(), "1 Pib"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 60) * byte_base_unit::unit_type(), "1 Eib"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 70) * byte_base_unit::unit_type(), "1 Zib"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 80) * byte_base_unit::unit_type(), "1 Yib"); --- </p> <blockquote class="citation"> <blockquote> <p> BOOST_UNITS_TEST_OUTPUT(pow(2., 20) * byte_base_unit::unit_type(), "1 Mib"); BOOST_UNITS_TEST_OUTPUT(pow(2., 30) * byte_base_unit::unit_type(), "1 Gib"); BOOST_UNITS_TEST_OUTPUT(pow(2., 40) * byte_base_unit::unit_type(), "1 Tib"); BOOST_UNITS_TEST_OUTPUT(pow(2., 50) * byte_base_unit::unit_type(), "1 Pib"); BOOST_UNITS_TEST_OUTPUT(pow(2., 60) * byte_base_unit::unit_type(), "1 Eib"); BOOST_UNITS_TEST_OUTPUT(pow(2., 70) * byte_base_unit::unit_type(), "1 Zib"); BOOST_UNITS_TEST_OUTPUT(pow(2., 80) * byte_base_unit::unit_type(), "1 Yib"); </p> </blockquote> </blockquote> <p> 437,442c437,442 &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 32) *byte_base_unit::unit_type(), "4 gibibyte"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 41) *byte_base_unit::unit_type(), "2 tebibyte"); <em> <a class="ext-link" href="http://en.wikipedia.org/wiki/Tebibyte"><span class="icon">​</span>http://en.wikipedia.org/wiki/Tebibyte</a> &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 50) *byte_base_unit::unit_type(), "1 pebibyte"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 60) *byte_base_unit::unit_type(), "1 exbibyte"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 70) *byte_base_unit::unit_type(), "1 zebibyte"); &lt; BOOST_UNITS_TEST_OUTPUT(std::pow(2., 80) *byte_base_unit::unit_type(), "1 yobibyte"); --- </em></p> <blockquote class="citation"> <blockquote> <p> BOOST_UNITS_TEST_OUTPUT(pow(2., 32) *byte_base_unit::unit_type(), "4 gibibyte"); BOOST_UNITS_TEST_OUTPUT(pow(2., 41) *byte_base_unit::unit_type(), "2 tebibyte"); <em> <a class="ext-link" href="http://en.wikipedia.org/wiki/Tebibyte"><span class="icon">​</span>http://en.wikipedia.org/wiki/Tebibyte</a> BOOST_UNITS_TEST_OUTPUT(pow(2., 50) *byte_base_unit::unit_type(), "1 pebibyte"); BOOST_UNITS_TEST_OUTPUT(pow(2., 60) *byte_base_unit::unit_type(), "1 exbibyte"); BOOST_UNITS_TEST_OUTPUT(pow(2., 70) *byte_base_unit::unit_type(), "1 zebibyte"); BOOST_UNITS_TEST_OUTPUT(pow(2., 80) *byte_base_unit::unit_type(), "1 yobibyte"); </em></p> </blockquote> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10913 Trac 1.4.3