id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 6056,units/test_output: unqualified sqrt() fails to compile on SunCC/SunOS,Fedor Sergeev ,Matthias Schabel,"Compiling Boost/units test_output on SunOS with SunCC: {{{ ] sunCC -library=stlport4 -I../ ../libs/units/test/test_output.cpp ""../libs/units/test/test_output.cpp"", line 242: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 242: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 336: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 336: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 384: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 384: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 393: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 393: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 394: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 394: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 395: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 395: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 396: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 396: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 397: Error: The function ""pow"" must have a prototype. ""../libs/units/test/test_output.cpp"", line 397: 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. 24 Error(s) detected. }}} The standard math header included here - '''''' - does not inject math functions into the global namespace. The only standard way to use these functions (pow included) is via std:: namespace. All the uses of pow should be converted to std::pow, otherwise compilers with strictly conforming standard headers (like SunCC) will not be able to compile. std::pow works fine with all the compilers I tried (SunCC, g++). (suggested patch attached) ",Bugs,new,To Be Determined,units,Boost 1.47.0,Problem,,SunCC,