With:
CC: Sun C++ 5.8 Patch 121017-01 2005/12/11
#include <cmath>
double f(){
return std::sqrt(2);
}
does not compile because of an ambiguity between sqrt(float) and sqrt(double). With an int instead of 2 the ambiguity is between the double and long double versions. This does not depend on Cstd/stlport4. I have patch 111721-04 (solaris 8 libm) installed.
I believe this used to work before the january patches.